《vSphere性能設計:性能密集場景下CPU、內存、存儲及網絡的最佳設計實踐》一1.2.2 內存
本節書摘來異步社區《vSphere性能設計:性能密集場景下CPU、內存、存儲及網絡的最佳設計實踐》一書中的第1章 ,第1.2.2節,[美] 克裏斯托弗·庫塞克(Christopher Kusek) 著 呂南德特·施皮斯(Rynardt Spies)姚海鵬 劉韻潔 譯, 更多章節內容可以訪問雲棲社區“異步社區”公眾號查看。
1.2.2 內存
內存是一個有限的資源。當建立內存基準時,通常會有一個固定的模式。所有事情是平等的,如果你發現應用程序、工作負載以及用例沒有明顯的變化,你就可以預測內存的消耗量及需求量了。
VMware懂得內存在架構中的重要性,所以VMware多年來進行了大量的投資。不管是內存過量使用、壓縮還是膨脹,內存本身就是一種被分配的資源。但值得一提的是,雖然你可以在一個隻有64 GB的RAM的係統上分配128 GB的RAM,但這並不意味著你總是應該這樣做。對應用來說,建立內存基準是一種微妙的平衡。如果你配置了太少的內存,係統最終將交換到磁盤;如果你配置了太多的內存,最終將給係統過量提供。這種微妙的平衡經常被看作內存分配的最佳點。對大多數人來說,這個過程往往是相當隨意的,取決於應用程序和操作係統。當運行32位應用程序時這樣做很容易,因為係統無法處理超過3~4GB的RAM,一般建議固定分配4GB的內存。
當涉及64位操作係統和能夠使用大量內存的應用程序時,你可能會假設在實際運行它並隨意分配資源。結果是,一個可能隻需要512MB或768MB的虛擬機被分配了1GB、2GB、4GB或更多的RAM。更進一步,如果過量構建或者過量配置如Exchange 2010這樣的應用,最小都有可能是12GB、24GB甚至36GB的RAM。
圖1-2顯示一個分配4GB內存的Exchange 2003服務器的工作負載樣例。
我們分析這30天中此應用程序的基準,最低約327MB,最高平均可達到1.6GB的內存分配。如同這個係統一樣,所有工作負載都可能經曆一個“尖峰”,可用4GB但需求超過了5.6GB,但這可以看成偶然出現的異常情況。
幸運的是,VMware使用的內存增強的方法(第5章)能夠使一個意外的尖峰不會對虛擬機的操作係統和應用程序產生破壞性的影響,如6月22日的尖峰(圖1-2)。
還有一個方麵VMware沒有忽視,那就是它可以讓你足夠了解,你是否為架構做出正確的決定以及這些決定的度量。通過vCenter,你可以深入了解正在運行的應用程序使用內存的細節(圖1-3)。
通過圖1-3我們能立刻知道,此應用程序在前30天使用低於2GB內存且運行良好,甚至在它的最高點。在虛擬機的vCenter中使用性能選項卡等工具,可以讓你方便地建立基準。與物理服務器不同的是,物理服務器內存的獲得需要通過虛擬化進行重大更改,而我們可以簡單地關閉主機,添加額外內存,或者如果一開始碰巧供應不足我們可以把它重新聯機。
需要確定的重要一點是,當我們為虛擬機分配內存時,永遠不會有“錯誤的”分配。你可能為一個特定的客戶分配了過少或過多的內存,但這些決定不是一成不變的。如果有需要,你可以自由地後退一步,重新增加或減少所分配的內存量。
最後更新:2017-06-22 10:02:00