目前小弟正在做關於VMware監控指標的資料時,找到了下列關鍵指標
參考了《vCenter and Memory metrics》
(來源:《vCenter and Memory metrics》)
The first section is the host memory:
Consumed (1.36GB)
Overhead Consumption (42.00MB)
Again, Consumed is the amount of machine memory currently allocated to the VM. In other words, out of the 2GB provisioned currently 1.36GB is being consumed by that VM. The Overhead Consumption is the amount of memory being consumed for the virtualization overhead, as you can see it is less than what the VMkernel expected to use as mentioned in the first screenshot. I guess you could do the math easily:
Consumed = Private + Overhead Consumption
看完整篇後,其實我對這兩個metrics 還是相當不清楚含義的
已查詢的相關資料:
第一篇
看起來VMWare的記憶體是可以超用的,意味著即使你分配給VM 10G的記憶體,但它只使用5G的話,另外的5G其實還是可以由VMWare動態調配的。
以你這台為例
而為了要運行這台VM,VMWare額外消耗了42.00MB的記憶體(Overhead Consumption);故這台VM在你的VMWare總共消耗 Private + Overhead Consumption = Consumed = 1.36G的記憶體
所以你的問題2,說明如下:
Private上升:代表你的VM內的程式記憶體用量增加,但這個值不會超過你所給它的上限2.14GB(Worst Case Allocation,在最糟的情況下);所以若是Private接近你的上限,意味著VM的記憶體不足。
Overhead Consumption上升:VMWare需要消耗更多的記憶體來支持這個VM,要檢查原因。
哦!!!驚呼
其實這兩個指標我前前後後看了很多分享和Document
但我一直沒辦法看懂,個篇文章想表達的含義,或許是自己沒學過正規的VMware相關課程,但也有可能自己在看官方文件的時候,並沒有看到正確的關鍵字
但被您這樣一解釋,瞬間茅舍頓開!太感謝了
不過,直到剛剛我仍然都在思考“看起來VMWare的記憶體是可以超用的”
為什麼光這樣看,就能有這樣的想法呢
這邊的超用是什麼在VM上超用,還是因為把剩餘的記憶體分配給其他VM的時候,在別台的VM上超用呢?
為什麼會有這樣的想法:因為VMWare太貴買不起,但是其他虛擬機軟體可以這樣做
超用,就是你可以在10G記憶體的VMWare配置超過10台限制1G的VM,只要VM加起來沒有實際使用超過10G即可
有幫到你請給我最佳解答
原來如此 ..
太感謝你了
方便聊聊嗎?
我正在思考,是不是每一個虛擬化App(PVE or VirtualBox)都是有
Overhead Consumption 這樣的應用
還是只屬於VMware才有的,存在這個應用的用意是什麼?
在實體層上,是不是也一樣會有開機所需要的記憶體
(我想這應該是要的, 只是以前讀書的時候,似乎都沒驗證過這個想法)
你可以先去讀讀恐龍書,不過實體機的記憶體除了扣給顯示用的之外,應該都是由作業系統管理了。
因為實體機的開記程序所需要的RAM,應該都是長在主機板上,不會用挪用插上去的記憶體;虛擬化的話就要連帶把版子上的記憶體虛擬出來
了解 ..
不專業的想法
Vmware規劃給虛擬機的Ram只會分配給系統內使用
Overhead Consumption是用來跑這個VM子程序用的Ram
每個VM有自己的Overhead Consumption
開機所需要的記憶體
我想這就是硬體保留的記憶體
win10工作管理員就可以看到這,大多分配給內建GPU使用