Vai al contenuto principale

Utilizzo elevato della memoria da parte delle macchine virtuali Hyper-V

I clienti che usano i piani WHS spesso chiedono perché un sistema operativo appena installato senza software utilizzi dall'80 al 90 percento della RAM e dove venga usata questa memoria.

Si presenta così:

Uso elevato della memoria HyperV 1

Non ci sono processi con un utilizzo elevato della memoria:

Uso elevato della memoria HyperV 2

Questo è un comportamento normale. È così che funziona il meccanismo Hyper-V Dynamic Memory.

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

Se la macchina virtuale richiede più RAM, la memoria verrà allocata automaticamente.

Come posso verificare che la quantità di memoria specificata nel piano venga davvero fornita alla macchina virtuale?​

Puoi scaricare l'utilità RamMap da Sysinternals. Questa azienda appartiene a Microsoft e l'utilità può essere considerata uno strumento ufficiale consigliato:

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

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

La quantità di memoria riservata dal sistema di virtualizzazione viene visualizzata come Driver Locked:

Uso elevato della memoria HyperV 3

Come posso scoprire quanta memoria usano in totale i processi del server?​

Puoi farlo usando il seguente comando PowerShell (se il buffer forwarding è abilitato, puoi incollare il comando nella console PowerShell con un clic destro del mouse):

Get-Process | measure PM -sum

Puoi vedere che ci sono 39 processi in esecuzione e che usano 358,739,968 byte di RAM, che corrispondono a circa 350 MB.

Uso elevato della memoria HyperV 4

Per evitare calcoli manuali e il rischio di un numero errato di cifre decimali, puoi usare il seguente comando:

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

Il risultato è 340 MB, che è coerente con la figura sopra:

Uso elevato della memoria HyperV 5