Saltar al contenido principal

Alto uso de memoria por las máquinas virtuales Hyper-V

Los clientes que usan planes WHS a menudo preguntan por qué un SO recién instalado sin software usa entre el 80 y el 90 por ciento de la RAM y dónde se utiliza esta memoria.

Se ve así:

HyperV high memory usage 1

No hay procesos con un alto uso de memoria:

HyperV high memory usage 2

Este es un comportamiento normal. Así es como funciona el mecanismo de Memoria dinámica de Hyper-V.

https://technet.microsoft.com/en-us/library/hh831766.aspx

Si la máquina virtual requiere más RAM, la memoria se asignará automáticamente.

¿Cómo puedo comprobar que la cantidad de memoria especificada en el plan realmente se proporciona a la máquina virtual?​

Puede descargar la utilidad RamMap de Sysinternals. Esta empresa pertenece a Microsoft y la utilidad puede considerarse una herramienta oficial recomendada:

https://technet.microsoft.com/en-us/sysinternals/rammap.aspx

https://download.sysinternals.com/files/RAMMap.zip

La cantidad de memoria que está reservada por el sistema de virtualización se muestra como Driver Locked:

HyperV high memory usage 3

¿Cómo puedo averiguar cuánta memoria usan en total los procesos del servidor?​

Puede hacerlo usando el siguiente comando de PowerShell (si el reenvío del búfer está habilitado, puede pegar el comando en la consola de PowerShell con un clic derecho del ratón):

Get-Process | measure PM -sum

Puede ver que hay 39 procesos en ejecución y que usan 358,739,968 bytes de RAM, lo que equivale aproximadamente a 350 MB.

HyperV high memory usage 4

Para evitar cálculos manuales y el riesgo de un número incorrecto de decimales, puede usar el siguiente comando:

$mem = 0; Get-Process | %{$mem += $_.pm}; "{0:N2}MB " -f ($mem/1mb)

El resultado es 340 MB, lo que coincide con la cifra anterior:

HyperV high memory usage 5