Administro un servidor Windows 2008 (bueno, en Amazon EC2) con IIS y una aplicación web .NET4. Recibí una alerta de memoria el otro día y fui y miré, y efectivamente, la memoria del proceso había crecido con el tiempo a través de algún tipo de fuga lenta. No creció mucho, al igual que 60M a 200M, pero sucedía lo suficiente con la caja que superó nuestro umbral bastante bajo (75%) para encender el monitor.
Reciclé el conjunto de aplicaciones y la memoria se liberó, y al revisar las estadísticas noté que el espacio de intercambio se estaba utilizando significativamente y que más de 1 GB se liberó con ese reciclaje.
Tal vez esta es una pregunta básica, pero soy un tipo de UNIX y estoy acostumbrado a intercambiar no acostumbrarme hasta que se quede sin memoria. Este cuadro nunca ha superado el 75% de uso de memoria. ¿Es esto una cosa de Windows o una cosa de .NET o una cosa de Amazon? Sospecho que hay una pérdida de memoria mucho mayor en esta aplicación de lo que se sospecha: no está goteando de 60M a 200M, está goteando de 60M a 1.2GB, pero ¿gran parte de eso de alguna manera se está "enfriando" y siendo empujado a cambiar?
Tengo el reciclaje de memoria configurado en el grupo de aplicaciones, pero activa la memoria completa de la caja, por lo que esta aplicación podría ser realmente grande antes de reciclarse automáticamente.
Podría configurar el reciclaje regular "programado", pero esa es una solución alternativa, conseguiré que el desarrollador arregle la aplicación, pero necesito entender lo que está sucediendo aquí con el uso de intercambio para asegurarme de que estoy entendiendo esto correctamente.
Editar con más información: memoria de instancia: 1.7 GB de intercambio: 4.5 GB
Veo el proceso w3wp.exe en taskmgr que muestra esa memoria: 211,000k. Pero cuando lo reinicié (está en su propio grupo de aplicaciones, y es la única aplicación en la caja), su uso de memoria se redujo a su punto de partida normal de 60M y, como 1 GB + de intercambio, también se liberó. En taskmgr, solo tenía la estadística habitual de Memoria (Conjunto de trabajo privado), pero vi el cambio cambiar a través de mi otro monitoreo (Cloudkick). Volviendo y viéndolo hoy, la memoria está de vuelta a 195M en el proceso (1.2 GB en total) y el intercambio se ha movido de 1.0 GB a 1.1 GB, no regresó a donde estaba (graficando con el tiempo, es un lento arrastre).
Estoy menos preocupado por esta aplicación específica y más preocupado por entender cuándo Windows cambia y cómo lo usa, y qué preocuparse por la memoria de Windows y el uso de intercambio en general.