Przejdź do głównej treści

Wysokie użycie pamięci przez maszyny wirtualne Hyper-V

Klienci korzystający z planów WHS często pytają, dlaczego nowo zainstalowany system operacyjny bez żadnego oprogramowania używa od 80 do 90 procent pamięci RAM i gdzie ta pamięć jest wykorzystywana.

Wygląda to tak:

HyperV high memory usage 1

Nie ma procesów z wysokim użyciem pamięci:

HyperV high memory usage 2

To normalne zachowanie. Tak działa mechanizm pamięci dynamicznej Hyper-V.

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

Jeśli maszyna wirtualna będzie potrzebować więcej pamięci RAM, pamięć zostanie przydzielona automatycznie.

Jak mogę sprawdzić, czy ilość pamięci określona w planie jest rzeczywiście zapewniana maszynie wirtualnej?​

Możesz pobrać narzędzie RamMap od Sysinternals. Ta firma należy do Microsoftu, a narzędzie można uznać za zalecane oficjalne narzędzie:

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

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

Ilość pamięci zarezerwowanej przez system wirtualizacji jest wyświetlana jako Driver Locked:

HyperV high memory usage 3

Jak mogę sprawdzić, ile pamięci łącznie używają procesy serwera?​

Możesz to zrobić za pomocą następującego polecenia PowerShell (jeśli przekazywanie bufora jest włączone, możesz wkleić polecenie do konsoli PowerShell, klikając prawym przyciskiem myszy):

Get-Process | measure PM -sum

Możesz zobaczyć, że uruchomionych jest 39 procesów i używają one 358,739,968 bajtów pamięci RAM, co stanowi około 350 MB.

HyperV high memory usage 4

Aby uniknąć ręcznych obliczeń i ryzyka błędnej liczby miejsc po przecinku, możesz użyć następującego polecenia:

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

Wynik to 340 MB, co jest zgodne z powyższą wartością:

HyperV high memory usage 5