iT邦幫忙

0

關於VMware Memory metrics 含義

目前小弟正在做關於VMware監控指標的資料時,找到了下列關鍵指標

  • Consumed
  • Overhead Consumption

參考了《vCenter and Memory metrics》

https://ithelp.ithome.com.tw/upload/images/20210503/2011452057UBEaizx6.png
(來源:《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 還是相當不清楚含義的

  1. 仍不太清楚,監控這兩個指標的主要原因
  2. 也不清楚,這兩個指標的上升,會對VM有什麼影響
  3. 是否有更淺顯易懂的方式解釋這兩個指標

已查詢的相關資料:
第一篇

第二篇

第三篇

第四篇

1 個回答

1
黃彥儒
iT邦高手 1 級 ‧ 2021-05-03 19:04:19
最佳解答

看起來VMWare的記憶體是可以超用的,意味著即使你分配給VM 10G的記憶體,但它只使用5G的話,另外的5G其實還是可以由VMWare動態調配的。
以你這台為例

  • 你分配了2G的記憶體給她(由 Guest Memory得知)
  • 它只使用了 1.32 G(由Private 得知,這些是由VM內的作業系統管理的)
  • 有 700 MB是可以使用卻未使用的(Shared),目前可以被其他VM使用

而為了要運行這台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上超用呢?

黃彥儒 iT邦高手 1 級 ‧ 2021-05-03 22:34:18 檢舉

為什麼會有這樣的想法:因為VMWare太貴買不起,但是其他虛擬機軟體可以這樣做

黃彥儒 iT邦高手 1 級 ‧ 2021-05-03 22:35:31 檢舉

超用,就是你可以在10G記憶體的VMWare配置超過10台限制1G的VM,只要VM加起來沒有實際使用超過10G即可

有幫到你請給我最佳解答

原來如此 ..

太感謝你了

方便聊聊嗎?

我正在思考,是不是每一個虛擬化App(PVE or VirtualBox)都是有
Overhead Consumption 這樣的應用

還是只屬於VMware才有的,存在這個應用的用意是什麼?

在實體層上,是不是也一樣會有開機所需要的記憶體
(我想這應該是要的, 只是以前讀書的時候,似乎都沒驗證過這個想法)

補充資料:
https://docs.vmware.com/en/VMware-vSphere/6.7/com.vmware.vsphere.resmgmt.doc/GUID-4954A03F-E1F4-46C7-A3E7-947D30269E34.html

黃彥儒 iT邦高手 1 級 ‧ 2021-05-04 10:57:50 檢舉

你可以先去讀讀恐龍書,不過實體機的記憶體除了扣給顯示用的之外,應該都是由作業系統管理了。
因為實體機的開記程序所需要的RAM,應該都是長在主機板上,不會用挪用插上去的記憶體;虛擬化的話就要連帶把版子上的記憶體虛擬出來

了解 ..

hsiang11 iT邦好手 1 級 ‧ 2021-05-04 16:22:34 檢舉

不專業的想法
Vmware規劃給虛擬機的Ram只會分配給系統內使用
Overhead Consumption是用來跑這個VM子程序用的Ram
每個VM有自己的Overhead Consumption

開機所需要的記憶體
我想這就是硬體保留的記憶體
win10工作管理員就可以看到這,大多分配給內建GPU使用

我要發表回答

立即登入回答