Estoy ejecutando una prueba de carga en una .NET
aplicación web a través de una LAN. El servidor que aloja la aplicación web es una máquina virtual, Windows Server 2008 R2, con 2 GB de RAM y un límite de 3 GB de memoria virtual. No se están ejecutando otras aplicaciones web en él.
La prueba dura 1 hora y 40 minutos y aumenta la carga cada 10 minutos.
Registré el uso de la memoria perfmon
durante la prueba de carga y veo que la memoria comienza en 1,5 GB y aumenta hasta alcanzar un límite de 3,37 GB después de 1 hora y 20 minutos, luego la memoria vuelve a caer a 1,5 GB.
No entiendo por qué sucede esto. ¿La administración de memoria de Windows está haciendo esto y, de ser así, por qué?
Respuesta1
Estás sumergiéndote en un tema muy complejo, uno que es difícil de resumir en una simple respuesta aquí en este foro.
Gestión de memoria de Windows. Le sugiero que comience viendo esta serie de videos de 2 partes:
http://northamerica.msteched.com/topic/details/WCL405
http://northamerica.msteched.com/topic/details/WCL406
En respuesta a su pregunta, básicamente, una vez que el sistema comienza a tener poca memoria, el Administrador de memoria comienza a analizar las listas de espera, las listas de páginas modificadas y, finalmente, los conjuntos de trabajo de otros procesos.
Entonces, para responder a su pregunta, sí, es el administrador de memoria quien lo hace, de acuerdo con sus propios algoritmos de "OK, me estoy quedando sin memoria, ¿qué puedo hacer para liberar algo de memoria para este acaparador en el sistema?"