Tengo una aplicación de sitio web ejecutándose en su propio grupo de aplicaciones en IIS 7.0. La aplicación es un sitio web ASP.NET MVC 3.Uso de memoria alta con el grupo de aplicaciones w3wp IIS 7
He notado que el uso de la memoria para estas aplicaciones correspondiente w3wp El servicio de trabajo IIS es bastante alto (800 MB, con algunas fluctuaciones).
estoy tratando de diagnosticar el problema y han intentado el siguiente:
He inhabilitado el almacenamiento en caché de página de salida para el sitio web a nivel IIS y luego se recicla el grupo de aplicaciones. Esto hace que el proceso w3wp se reinicie. El uso de la memoria para este proceso sube lentamente hasta unos 800 MB, tarda unos 30 segundos en hacerlo. No hay solicitudes de página en este momento. Cuando reinicio el sitio web desde IIS, el tamaño de la memoria del proceso no se altera.
He intentado ejecutar una copia de depuración de la aplicación de VS 2010, no hay problemas con el uso de la memoria.
Algunas ideas que tengo/preguntas son:
¿Este problema relacionado con el código de sitios web? - Dado que los cohetes de memoria antes de que se hayan enviado/gestionado las solicitudes de página, supongo que esto NO es un problema de código.
La aplicación integrada en MVC no tiene en cuenta el almacenamiento en caché.
El sitio web utiliza la visualización de datos en tiempo real, utiliza las solicitudes ajax periódicamente, y generalmente se deja 'abierto' durante largos períodos de tiempo.
¿Por qué el uso de la memoria aumenta después de que la aplicación se recicla y no se envían solicitudes de los usuarios? ¿Esto es porque está cargando información del viejo caché en su memoria del disco?
La aplicación no se cae, sólo estoy preocupado por el uso de la memoria, no es tan grande de un sitio web ...
Cualquier idea/ayuda con llegar al fondo de este problema sería apreciada .
BTW - Se encontrará estable en un 40% porque, de forma predeterminada, el modelo de proceso en IIS está limitado a utilizar solo el 60% de la memoria disponible. Puede cambiar esto a través de la configuración de processModel memoryLimit. – ProVega
@ProVega Actualmente, junto a IIS, se encuentra el servidor ms sql y el programa de copia de seguridad ms. El programa de copia de seguridad ms puede consumir toda la memoria libre haciendo que el sistema sea lento. Entonces, el servidor MS SQL también puede consumir mucha memoria para el caché, por lo que he configurado los límites máximos de memoria. Así que termino teniendo algo de memoria libre porque tengo que verificar esto. – Aristos
también en la ventana emergente de configuraciones avanzadas de la aplicación, configurar Activar aplicaciones de 32 bits en true también reduce el uso de memoria. consulte esta publicación para obtener información http://www.sitefinity.com/developer-network/forums/bugs-issues-/app-pool-memory-drastically-different-from-32-64-bit –