Ana içeriğe atla

Hyper-V sanal makinelerinde yüksek bellek kullanımı

WHS planlarını kullanan müşteriler, üzerinde hiçbir yazılım olmayan yeni kurulmuş bir işletim sisteminin neden RAM'in yüzde 80 ila 90'ını kullandığını ve bu belleğin nerede kullanıldığını sık sık sorar.

Şöyle görünür:

HyperV yüksek bellek kullanımı 1

Yüksek bellek kullanımı olan hiçbir işlem yoktur:

HyperV yüksek bellek kullanımı 2

Bu normal bir davranıştır. Hyper-V Dinamik Bellek mekanizması bu şekilde çalışır.

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

Sanal makine daha fazla RAM gerektirirse, bellek otomatik olarak ayrılacaktır.

Planda belirtilen bellek miktarının gerçekten sanal makineye sağlandığını nasıl kontrol edebilirim?

RamMap yardımcı programını Sysinternals'tan indirebilirsiniz. Bu şirket Microsoft'a aittir ve bu yardımcı program önerilen resmi bir araç olarak kabul edilebilir:

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

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

Sanallaştırma sistemi tarafından ayrılan bellek miktarı Driver Locked olarak görüntülenir:

HyperV yüksek bellek kullanımı 3

Sunucunun işlemlerinin toplamda ne kadar bellek kullandığını nasıl öğrenebilirim?

Bunu aşağıdaki PowerShell komutunu kullanarak yapabilirsiniz (arabellek yönlendirme etkinse, komutu fareyle sağ tıklayarak PowerShell konsoluna yapıştırabilirsiniz):

Get-Process | measure PM -sum

39 çalışan işlem olduğunu ve bunların 358,739,968 bayt RAM kullandığını, bunun da yaklaşık 350 MB olduğunu görebilirsiniz.

HyperV yüksek bellek kullanımı 4

Manuel hesaplamalardan ve yanlış sayıda ondalık basamak riskinden kaçınmak için aşağıdaki komutu kullanabilirsiniz:

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

Sonuç 340 MB'dir ve yukarıdaki rakamla tutarlıdır:

HyperV yüksek bellek kullanımı 5