VMware記憶體名詞解釋及實踐總結
1、VMware記憶體相關概念解釋
主機記憶體:ESXi執行該虛擬機器的記憶體開銷, 包括分配給虛擬機器的記憶體和主機自己的額外記憶體開銷overhead。
已消耗/已消耗的主機記憶體:已分配給虛擬機器的實體記憶體的實際消耗量。在執行過程中除了消耗為其分配的記憶體外,每個虛擬機器還會消耗額外的開銷記憶體以用於虛擬化。
記憶體計算式:【消耗的記憶體 = 分配的記憶體 - 通過頁共享而節省的記憶體】
開銷消耗:用於虛擬化目的的已消耗記憶體量。包括為虛擬機器框架緩衝區和各種虛擬化資料結構(如卷影、頁表)預留的空間。開銷記憶體的大小取決於vCPU數量,為客戶機作業系統配置的記憶體以及虛擬機器的工作負載。
客戶機記憶體:
專用記憶體:受主機記憶體支援且沒有共享的記憶體量
已共享:共享的記憶體量。vSphere採用透明頁共享(transparent page sharing)技術實現了虛擬機器記憶體的共享,因此在虛擬機器中執行的工作負載消耗的記憶體通常要少於其在物理機上執行時所需的記憶體,能夠高效地支援更高級別的過載。
縮減量:壓縮快取中的記憶體量。vSphere提供了記憶體壓縮快取,能夠在記憶體過載使用時改進虛擬機器效能
虛擬增長:通過虛擬增長回收的記憶體量。vSphere利用記憶體虛擬增長驅動程式 (vmmemctl) 與伺服器協作回收客戶機作業系統認為最不重要的頁面
已交換:
未訪問過:客戶機從未訪問過的記憶體量
活動/活動客戶機記憶體:客戶機最近訪問過的記憶體量,能夠體現客戶機實時的一個記憶體消耗情況。記憶體使用情況一直很高(94% 或更高),說明記憶體無法滿足虛擬機器效能需要,您可以適應調整分配的記憶體。
2、實踐總結
如果虛擬機器有高虛擬增長或交換值,則在主機上檢查可用實體記憶體的數量。可用記憶體值等於或少於 6% 表示主機無法滿足記憶體需求。這將導致記憶體回收,從而使效能下降。如果活動記憶體與授予的記憶體大小相同,則需要的記憶體將大於可用的記憶體資源。如果活動記憶體一直很低,則記憶體大小可能過大。
3、兩種角度看虛擬機器記憶體問題
Guest OS和Virtual Machine看到的效能之所以不一致,是因為監控的方式和物件不一樣。
3.1、通過Guest OS檢視記憶體:
Guest OS本身通過系統自帶的監控工具檢視資源使用情況,監控的是Guest OS中的應用和系統本身對所分配的資源的開銷。通常而言OS都是安裝在物理機中,對於OS而言自身就是一個整體,比如分配了2 CPU、4GB RAM ,但Guest OS並未知道自己本身是一個虛擬機器。
3.2、通過vCenter檢視記憶體:
在vCenter Server上看到的Virtual Machine是對於ESXi server而言,VM它是一個程序,該程序佔用了多少CPU/RAM。ESXi Server本身是一個大的資源池,通過這個資源池分配資源給虛擬機器使用。監控的是該虛擬機器消耗ESXi server這個資源池多少資源。 由於ESX/ESXi Server使用了一些CPU/RAM虛擬化技術,比如記憶體壓縮等技術,通過這些技術能有效的減少虛擬機器對資源的開銷,所以Guest OS和VC上看到的虛擬機器資源並未一致。
3.3、運維經驗總結:
在VMware vSphere虛擬化平臺中,點選虛擬機器的效能和資源分配選項卡,該頁面顯示的內容可以反饋當前虛擬機器在主機的資源佔用狀況。如果需要監控OS層面的效能和資源佔用資訊,只能進入Guest OS進行檢視。由於VMware vSphere虛擬化平臺不同於以往的物理伺服器環境。在VMwarevSphere虛擬化平臺中,每個VM都是彼此隔離的,GuestOS之間不會相互影響,每個Guest OS都認為自己執行在獨立的伺服器中,所以VM的Guest OS中顯示的資源利用率不能反映出真實的資源利用情況。
當前需要注意區分如下:如果要觀察作業系統本身和應用的資源使用情況,可以進入Guest OS,通過系統自帶的工具來檢視。 如果要觀察該虛擬機器佔用ESXiServer多少資源,請在vCenter Server上選擇虛擬機器效能選項卡檢視。