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,記憶體動态管理功能不能啟用。
本文轉自wangshujiang51CTO部落格,原文連結: http://blog.51cto.com/wangshujiang/943263,如需轉載請自行聯系原作者