Hyper-V 內存管理必須知道的 |
發布時間: 2012/7/28 17:35:12 |
Windows Server 2008 R2 SP1之前的Hyper-V版本中,管理員只能固定指定虛擬機所使用的物理內存大小,當虛擬機啟動時,自動將管理員分配的內存完全占用。可能會出現以下2個問題: 1、當管理員分配給虛擬機的內存大小無法滿足應用的需求時,管理員需要在關閉虛擬機的情況下(Hyper-V不支持內存熱插拔),對其內存占用大小重新進行調整。 2、當管理員給虛擬機分配過多的內存時,虛擬機應用在不需要使用這么多內存的情況下,將造成資源的浪費。 Windows Server 2008 R2 SP1 Hyper-V提供的內存動態管理功能,將解決遇到的內存應用瓶頸。 內存過量使用內存過量使用,允許虛擬機使用比物理主機可用的更多的內存。例如,宿主機有2GB內存,就可以在其上運行四臺擁有1GB內存的虛擬機。內存能過量使用因為有比宿主機更多的虛擬內存。因此,管理員能夠最大化物理計算機中運行的虛擬機數量,而不用理會物理內存的限制。 如果沒有內存過量使用功能,分配給虛擬機內存的數量最多只能是和宿主機相同數量的內存。但實際上,虛擬機通常消耗的內存比其需要的少,這會浪費物理內存空間,并限制了在服務器上能運行的虛擬機數量。例如,一臺8GB 內存的Hyper-V服務器,可能在服務器上部署三臺虛擬機,每個分配2GB,并預留2GB給主機操作系統,雖然這臺服務器有足夠的CPU和磁盤資源來宿主更多虛擬機,但內存成為限制因素。Hyper-V Dynamic Memory里含有一個選項(內存緩沖區)能解決這個問題。 Hyper-V不允許內存過量使用,例如如果分配4GB內存給Hyper-V的一臺虛擬機,虛擬機實際只使用2GB。啟動虛擬機后,Hyper-V檢查是否有4GB的物理內存可用。如果這樣的話,內存就被“鎖定”,因此只能用于該虛擬機。如果4GB不可用,虛擬機就不能啟動,即使虛擬服務器需要的2GB內存可用也不行。 Hyper-V提供“內存緩沖區”、“內存權重”以及“內存優先級”。Hyper-V允許根據內存使用率優化虛擬機。當出現爭用內存的情況,高優先權虛擬機首先獲得內存。因為內存競爭會迫使虛擬機用光內存,如果虛擬機需要但又沒有可用的內存。“Hyper-V管理器”顯示每臺虛擬機可用的內存,幫助管理員在Hyper-V上更好地管理內存分配。 啟動內存啟動內存,是指操作系統啟動所需要的最小內存容量加上開啟應用程序所需要的內存容量。啟動內存值和處于“靜態”模式下的內存設置相同。 例如Microsoft Exchange Server 2010至少需要4 GB的系統內存,即使用8GB來運行一個虛擬系統,而操作系統和應用程序需要的最低內存是4GB,那么啟動內存設置就是4GB,因此應該把啟動內存設置與操作系統和應用程序啟動所需要的最低內存容量保持一致。 最大內存最大內存,是Hyper-V可以為虛擬機提供的最大內存容量,默認設置為64GB 。Hyper-V會根據實際需要的容量自動分配。 例如,應用程序會要占用全部內存。在這些情況下,把最大內存設置應該分配給應用程序和操作系統最大內存容量。另外,如果最大內存值不是64GB,內存動態管理功能不能啟用。 本文出自:億恩科技【www.laynepeng.cn】 |