記憶體配置設定給虛拟機之後,Hyper-V主機把系統可用記憶體資源配置設定給建立之後的虛拟機,預設的記憶體我們稱之為靜态記憶體,即當你建立虛拟機時你給多少G記憶體那麼虛拟機就配置設定多少G記憶體,Windows Server 2012/R2 Hyper-V提供的動态記憶體功能,管理者可以重新調整資源,讓有限的記憶體資源能夠得到充分利用,以便達到更好的記憶體整合和更高的管理效率。
一:靜态記憶體:即配置設定給虛拟機的記憶體。虛拟機沒有啟動的時候,不會占用實體計算機記憶體,虛拟機啟動時,将從實體計算機記憶體中劃分出指定大小的記憶體給虛拟機使用,實體計算機将減少同樣大小的記憶體。
<a href="http://s3.51cto.com/wyfs02/M02/54/7B/wKioL1SER__i_9JIAAJ9Ao5cClw005.jpg" target="_blank"></a>
二:動态記憶體:
(一) 技術概述:在 Windows Server 2008 R2 Service Pack 1 (SP1) 中引入的“動态記憶體”,将啟動記憶體定義為虛拟機的最低記憶體數量。但是,Windows 在啟動過程中比在穩定狀态中需要更多記憶體。是以,管理者有時會給虛拟機配置設定額外的記憶體,因為 Hyper-V 無法在啟動後從這些虛拟機回收記憶體。在 Windows Server 2012/R2 中,“動态記憶體”引入了最低記憶體設定,進而允許 Hyper-V 從虛拟機回收未使用的記憶體。這反映在增加的虛拟機合并數量方面,尤其是在虛拟桌面基礎結構 (VDI) 環境中。Windows Server 2012/R2 還引入了“智能分頁”技術以獲得可靠的虛拟機重新啟動操作。雖然最低記憶體可以增加虛拟機的合并數量,但它也帶來一項挑戰。如果一台虛拟機具有比其啟動記憶體更小數量的記憶體,如果它重新啟動,則 Hyper-V 需要附加的記憶體才能重新啟動虛拟機。由于主機記憶體壓力或虛拟機狀态的原因,Hyper-V 可能并不總是有附加記憶體可用。這可能偶爾會導緻虛拟機重新啟動失敗。“智能分頁”用于彌補最低記憶體和啟動記憶體之間的差距,使得虛拟機能可靠地重新啟動。
(二) 術語:
A. 記憶體過量:
1、什麼是記憶體過量:記憶體過量使用允許虛拟機使用比實體主機可用的更多地記憶體,例如主控端有2G記憶體,可以在其上運作4台擁有1G記憶體的虛拟機。記憶體過量使用時因為有比主控端更多的虛拟記憶體,是以企業管理者能夠最大化實體主機中虛拟機數量,而不用照顧實體記憶體總量的限制。如果沒有這個技術,虛拟機記憶體大小最多隻能和虛拟主機記憶體使用相同。在企業實際生産環境中虛拟機通常消耗的記憶體比需求的的要少,這樣不利于充分利用硬體資源,并限制了在目前伺服器上能運作的虛拟機數量。
2、Hyper-V不支援記憶體過量使用:Hyper-V不允許記憶體過量使用,例如如果配置設定4GB記憶體給Hyper-V的一台虛拟機,實際當啟動這台虛拟機的時候隻使用2GB記憶體,但是Hyper-V會檢查是否有4GB的實體記憶體可用,如果有,以配置設定給這台虛拟機的4GB記憶體将會被鎖定,隻能用于這台虛拟機,如果4GB不可用則無法啟動這台虛拟機,即使隻需要2GB記憶體也依然無法啟動這台虛拟機。
3、Hyper-V記憶體使用機制:Hyper-V通過提供“記憶體緩沖區”、“記憶體權重”以及“記憶體優先級”來允許根據記憶體使用率酉華虛拟機記憶體使用。當出現争用記憶體時,配置了高優先級的虛拟機首先獲得内記憶體資源。Hyper-V管理器顯示沒太虛拟機的記憶體使用情況幫助管理者更好的管理記憶體配置設定。
B. 記憶體緩沖區:
1、什麼事記憶體緩沖區:Hyper-V虛拟記憶體的基本設定,為每台虛拟機保留額外空間。記憶體緩沖區為虛拟機提供比實際需求更多地記憶體使用空間。虛拟機記憶體緩沖區使用百分比計算,預設為20%,微軟緩沖區百分比範圍為5%至95%。
2、記憶體緩沖區運作機制:
(1) 當記憶體需求在磨某一時間間隔突然增大時,可以使用保留區域,。在沒有緩存情況下,這一時間間隔内突然增大的記憶體需求會迫使虛拟機進入記憶體溢出狀态,這一狀态下記憶體頁面檔案将被自動寫入磁盤,資料從高速運作的記憶體空間中轉移到相對極慢的磁盤上,會導緻計算性能明顯下降。
(2) 當記憶體需求發生改變時,額外保留的空間可以降低虛拟機吧記憶體資料寫入磁盤的機率。同時,更大的緩存空間也帶來了浪費。保留的記憶體區域總是處于可用狀态,是以在虛拟機用到它之前都是閑置的。使用者設定範圍很大,微軟緩沖區百分比範圍為5%至95%,管理者可以設定任意數字。一般較為建議的是,開始的時候設定較低一些,當發現虛拟機總是發生寫入磁盤的情況時對這一百分比進行調整。
C. 記憶體權重:
1、什麼是記憶體權重:Hyper-V動态記憶體技術總是不斷的平衡記憶體使用,但有時記憶體資源無法滿足所有虛拟機的需求。如果啟用過多的虛拟機,或者某台虛拟機運作某個應用程式時突然需要大量記憶體資源,當發生這種情況時,記憶體權重設定可以對虛拟機設定優先權分類。低優先級的虛拟機在高優先級虛拟機記憶體配置設定完之前無法獲得記憶體資源。
2、記憶體權重的作用:
(1) 高優先級的虛拟機得到更多的記憶體;
(2) 低優先級的虛拟機會被優先“奪走”記憶體;
(3) 當啟動一台“新”虛拟機時,所給予他的記憶體來源于已經運作的虛拟機占有的記憶體,具體配置設定多少,則要看啟動虛拟機的記憶體權重的高低。
3、記憶體計算:
(1) 計算公式:虛拟機可用記憶體=啟動記憶體+啟動記憶體*(緩沖區百分比/(1-緩沖區百分比));
(2) 執行個體:管理者建立一台虛拟機,配置設定的記憶體大小為1200MB,緩沖區百分比為20%,則Hyper-V會附加額外的20%/(1-20%)=300MB,即總共1500MB記憶體給虛拟機。如果管理者設定的緩沖區百分比為80%,則會附加額外的80%/(1-80%)*1200MB=4800MB,即總共6000MB記憶體給虛拟機。
<a href="http://s3.51cto.com/wyfs02/M00/54/7B/wKioL1SESACSN3JUAAJYx84lUMA412.jpg" target="_blank"></a>
D. 智能分頁:
Windows Server 2012/R2 還引入了“智能分頁”技術以獲得可靠的虛拟機重新啟動操作。雖然最低記憶體可以增加虛拟機的合并數量,但它也帶來一項挑戰。如果一台虛拟機具有比其啟動記憶體更小數量的記憶體,如果它重新啟動,則 Hyper-V 需要附加的記憶體才能重新啟動虛拟機。由于主機記憶體壓力或虛拟機狀态的原因,Hyper-V 可能并不總是有附加記憶體可用。這可能偶爾會導緻虛拟機重新啟動失敗。“智能分頁”用于彌補最低記憶體和啟動記憶體之間的差距,使得虛拟機能可靠地重新啟動。如果虛拟機配置了比啟動記憶體更少的最低記憶體,為了提供可靠的重新啟動操作,則 Hyper-V 會在 Windows Server 2012/R2 中使用“智能分頁”。當重新啟動虛拟機需要更多記憶體時,這種記憶體管理方法将使用磁盤資源作為附加的臨時記憶體。這種方法既有優點,也有缺點。它提供了一種可靠的方法,在沒有可用的實體記憶體時,仍可確定虛拟機正常運作。但是,它也會降低虛拟機的性能,因為磁盤通路速度比記憶體通路速度慢得多。
1、為了盡量減少“智能分頁”對性能的影響,Hyper-V 隻在如下情況下才使用它:
(1) 正在重新啟動虛拟機時;
(2) 沒有可用的實體記憶體時;
(3) 在主機上運作的其他虛拟機中沒有可回收的記憶體時;
2、“智能分頁”不能在以下情況下使用:
(1) 虛拟機正從“關閉狀态”啟動(而不是重新啟動);
(2) 需要超額認購記憶體用于運作虛拟機時;
(3) 虛拟機正在 Hyper-V 群集中執行故障轉移時
當主機記憶體被超額認購時,Hyper-V 在來賓作業系統中繼續依靠分頁操作,因為它比“智能分頁”更有效。在來賓作業系統中,分頁操作由 Windows 記憶體管理器來執行。Windows 記憶體管理器比 Hyper-V 主機掌握更多有關虛拟機内的記憶體使用資訊,這意味在選擇用于分頁的記憶體時,Windows 記憶體管理器可以提供比 Hyper-V 更好的資訊。正因如此,相比“智能分頁”它會導緻更少的系統開銷。為進一步降低“智能分頁”的影響,Hyper-V 将在完成啟動之後從虛拟機中删除記憶體。為達到此目,它會在來賓作業系統中與“動态記憶體”元件進行協調(該過程有時也被稱為“氣球”(ballooning)),進而使虛拟機停止使用“智能分頁”。利用這種技術,“智能分頁”的使用隻是暫時的,并且預計不會超過 10 分鐘。需要注意:
(1) 隻有在虛拟機需要時才會建立“智能分頁”檔案;
(2) 在删除附加數量的記憶體之後,系統還會删除“智能分頁”檔案;
(3) 直到下一次在沒有足夠實體記憶體的情況下需要重新啟動虛拟機之前,它一直不能再次使用“智能分頁”。
下圖顯示了使用 Hyper-V 智能分頁進行重新開機的虛拟機的記憶體映射情況。
<a href="http://s3.51cto.com/wyfs02/M01/54/7B/wKioL1SESACicSzgAACVnKY1LDE586.jpg" target="_blank"></a>
為了進一步降低 Hyper-V 智能分頁的影響,在虛拟機啟動完成之後,Hyper-V 會從虛拟機移除記憶體,與客戶機内的動态記憶體元件協調(這個過程有時稱為“膨脹”),是以虛拟機停止使用 Hyper-V 智能分頁。在這項技術中,Hyper-V 智能分頁的使用是臨時的,不應超過 10 分鐘。下圖顯示了 Hyper-V 在虛拟機完成啟動之後,從虛拟機移除記憶體。
<a href="http://s3.51cto.com/wyfs02/M02/54/7B/wKioL1SESACz_Z_JAAB73iQ47k4154.jpg" target="_blank"></a>
Windows Server 2012/R2開始對Hyper-V 動态記憶體的增強,有助于在增強 Hyper-V 操作可靠性的同時,實作更高的合并數量。可以不關閉虛拟機而修改虛拟機的記憶體配置。如果有空閑虛拟機或低負載虛拟機,例如在池化VDI 環境,Hyper-V 增加的動态記憶體可以用來提高合并量,并提高重新開機操作的可靠性。這可以降低客戶的成本,尤其在有許多空閑或低負載虛拟機的池化環境中更是如此。利用對動态記憶體的運作時配置修改,可以減少停機時間、提高響應需求變化的靈活性,進而帶來整體的 IT 生産力提高。利用這些新功能,還實作了響應需求變化的靈活性。
本文轉自 徐庭 51CTO部落格,原文連結:http://blog.51cto.com/ericxuting/1587335,如需轉載請自行聯系原作者