自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

微軟熱愛Linux:Linux動態(tài)內(nèi)存配置與及時備份

系統(tǒng) Linux
動態(tài)內(nèi)存配置以及及時備份是您在Hyper-V上運行Linux時相當重要的功能。這兩項功能需要Hyper-V主機與客戶端操作系統(tǒng)間密切的協(xié)同處理方能達成的功能。而現(xiàn)在微軟已經(jīng)將這兩項功能帶至Hyper-V與Linux之中。

  [[157319]]

       【引自Winclient的博客】Linux動態(tài)內(nèi)存配置

  動態(tài)內(nèi)存配置是一項在 Hyper-V 中可選擇使用的技術之一,如果您啟用此技術,Hyper-V 將會按照 Guest OS 所需要的內(nèi)存大小,自動的保留或釋放物理內(nèi)存。 當動態(tài)內(nèi)存開啟時,能夠聚集事實上還沒被 Guest OS 用到的內(nèi)存空間。 這使得內(nèi)存能夠更妥善的被利用,能夠提高單臺 Host OS 上運行的虛擬機數(shù)量,提高整體虛擬機的密度,能夠讓硬件有更高的利用率以及減少每個虛擬機所需要的花費。動態(tài)內(nèi)存配置技術在 Windows 以及 Linux 客戶端操作系統(tǒng)都能夠使用,甚至可以在單一 Hyper-V 主機上使用這兩種操作系統(tǒng)的混合配置。

  動態(tài)內(nèi)存配置是在多種混合環(huán)境,盡可能發(fā)揮內(nèi)存使用率的技術。 Hyper-V 將會減少對于內(nèi)存使用較少的客戶端操作系統(tǒng),并將其指定給使用較多內(nèi)存的客戶端操作系統(tǒng)使用。 而 Hyper-V 會自行做內(nèi)存的配置與調(diào)整和不需要管理人員去進行調(diào)整等工作。

  如果目前客戶端操作系統(tǒng)內(nèi)存需求已達穩(wěn)定的程度,這時動態(tài)內(nèi)存所能帶來的好處就不會表現(xiàn)得太明顯。 如果您的配置情況是可以穩(wěn)定掌握的,那我們將會建議您關閉此項技術。另外,有些客戶端操作系統(tǒng)上的程序會嘗試著把所有劃分給他使用的內(nèi)存都拿去自行規(guī)劃管理,而繞過操作系統(tǒng)。像如果有這種程序自行規(guī)劃內(nèi)存配置時,則動態(tài)內(nèi)存建議不進行啟用,因為這類的程序可能會與 Hyper-V 所提供的技術會有所沖突。 最普遍的例子就像是大型可擴展的數(shù)據(jù)庫以及一些 Java 應用服務器等。

  在 Hyper-V 中動態(tài)內(nèi)存的技術支持大部分的 Linux 發(fā)行版,但目前尚未于 FreeBSD 上支持。 這一部分可以持續(xù)關注在 TechNet 上的 LIS/BIS 技術表格,查看哪些發(fā)行版已經(jīng)支動態(tài)內(nèi)存技術。

  動態(tài)內(nèi)存技術是如何工作的?

  動態(tài)內(nèi)存技術使用兩種技術達成,而彼此兩者為獨立的方式:做 ”Hot-Add” 以及 ”Ballooning”。 為了要了解這兩種技術,首先我們先來看到 Hyper-V 允許您在虛擬機中設置三個動態(tài)內(nèi)存配置的參數(shù):

  ◆起始內(nèi)存-最一開始虛擬機啟用時應該配置的內(nèi)存大小。

  ◆***內(nèi)存限度-在這個虛擬機中能夠從動態(tài)內(nèi)存術配置到的***內(nèi)存大小。

  ◆最小內(nèi)存限度-最小內(nèi)存是動態(tài)內(nèi)存配置時,最少需要給此虛擬機***限度的內(nèi)存大小。

  通常起始內(nèi)存會介于***內(nèi)存限度與最小內(nèi)存限度之間。

  而前面提到 ”Hot-add” 技術是當虛擬機對內(nèi)存用量需求增加時,則會逐漸地將該虛擬機的可用內(nèi)存逐漸提升到***內(nèi)存限度。 而這種方式只會逐漸提升虛擬機中可用的內(nèi)存限度,但并沒有辦法做到 ”Hot-remove”,也就是說這個方式只能增加內(nèi)存而無法收回不使用的內(nèi)存。

  而在內(nèi)存自虛擬機中回收已配置的大小是使用 ”Ballooning” 技術。 這是由 LIS 內(nèi)動態(tài)內(nèi)存驅(qū)動程序來向客戶端操作系統(tǒng)宣稱這些內(nèi)存必須要留給 LIS,因此在 Linux 客戶端操作系統(tǒng)上并沒有辦法使用到這些內(nèi)存。 接著LIS內(nèi)存驅(qū)動程序會將這些由 LIS 占用的內(nèi)存還給 Hyper-V,讓 Hyper-V 能夠配置給其他虛擬機使用。 這個操作并不會導致原本的 Linux 客戶端操作系統(tǒng)的總內(nèi)存容量減少,反而是其 Linux 客戶端操作系統(tǒng)認為內(nèi)存應該是被用來當作某些程序的緩沖區(qū)域。 因此 Ballooning 技術不會將其 Linux 客戶端操作系統(tǒng)所看到實際可以用的內(nèi)存空間減少至小于最小內(nèi)存限度所設定的值以下。

  Ballooning 技術亦可將可用內(nèi)存配置回虛擬機當中,當 Hyper-V 決定要歸還界用的內(nèi)存時,LIS 內(nèi)將會歸還先前宣稱需要使用的內(nèi)存空間回 Linux 客戶端操作系統(tǒng)。 當虛擬機內(nèi)存需求提升且 Ballooned 的內(nèi)存皆已歸還,這時 Hyper-V 將會使用 Hot-add 配置更多的內(nèi)存給需要的虛擬機中。

  動態(tài)內(nèi)存配置范例

  讓我們來看看動態(tài)內(nèi)存的配置流程,我們用下列的示例來解釋這三個步驟:

  ◆一臺虛擬機開啟,其內(nèi)存大小將會依照起始內(nèi)存所設定的內(nèi)存大小做配置。

  ◆虛擬機對內(nèi)存的需求增加,于是 Hyper-V 通過 Hot-add 技術增加該虛擬機的內(nèi)存。

  ◆虛擬機對對內(nèi)存的需求減少,于是 Hyper-V 通過 Ballooning 技術釋放空閑內(nèi)存。

  而上面這三個步驟的過程我們用幾種方式來觀察:

◆從一個概要的內(nèi)存配置圖來顯示目前內(nèi)存配置狀況?!?/p>

◆通過 Hyper-V 管理員內(nèi)的內(nèi)存頁面查看內(nèi)存狀況?!?/p>

◆在 Linux 下使用 free –m 命令查詢內(nèi)存狀況。

  前面兩個方式為從虛擬機觀察內(nèi)存消耗狀況,而第三種方式為從客戶端操作系統(tǒng)內(nèi)部觀察內(nèi)存使用狀況。

 

  在***個步驟時,虛擬機此時開機完畢后并沒有特別顯明的程序消耗內(nèi)存。 依照該虛擬機設定的起始內(nèi)存配置相對應大小的內(nèi)存。此時在 Hyper-V 與 Linux 客戶端操作系統(tǒng)內(nèi)也可以看到相同數(shù)量的內(nèi)存,但要注意 Linux 內(nèi)已經(jīng)預留 32MB 的內(nèi)存大小給 BIOS 作為其他的用途使用。

 

 


  在第二個步驟時,虛擬機內(nèi)開始有顯著的內(nèi)存需求出現(xiàn),這時 Hyper-V 會開始通過 Hot-add 技術將更多的內(nèi)存配置給虛擬機,可以看到在 Assigned Memory 的字段顯示的大小增加,而在 Linux 客戶端操作系統(tǒng)中也會跟著提升(依然保留 32MB 給 BIOS 使用)。

 


  在第三個步驟時,先前耗費內(nèi)存的程序完成運算,對內(nèi)存使用量下降,這時 Hyper-V 會通過 LIS 使用 Ballooning 技術開始回收這些內(nèi)存,而在 Hyper-V 內(nèi)的 Assigned memory 此時會開始下降。 但是在 Linux 客戶端操作系統(tǒng)內(nèi)查看內(nèi)存狀態(tài)時,并不會作任何改變,仍然保持剛剛在高內(nèi)存使用量額外加上的內(nèi)存大小。盡管 Linux 客戶端操作系統(tǒng)可使用的內(nèi)存看起來沒有任何改變,但其實在亮綠色的區(qū)塊中,是有 LIS 拿取并宣稱是 LIS 使用的,借此讓 Linux 客戶端操作系統(tǒng)認為是拿去作為 Buffer 用途。 如果這些亮綠色的區(qū)塊皆被 Linux 拿去使用且 Linux 客戶端操作系統(tǒng)對內(nèi)存需求量又開始增長,這時會回到步驟一的情況,使用 Hot-add 配置更多內(nèi)存到該虛擬機中。

  Linux 及時備份

  接著,我們來談談另外一項功能,及時備份。 及時備份允許您在不停止或者關閉虛擬機的情況下,能夠建立一個 Linux 虛擬機的完整備份,包括其中的虛擬磁盤驅(qū)動器。這個功能主要是確保您在生產(chǎn)階段所使用的環(huán)境能夠保持其***的上線時間。

  文件系統(tǒng)的備份必須要維持一致性,當一個備份動作被執(zhí)行時,Linux 客戶端操作系統(tǒng)上的文件系統(tǒng)將會把位于內(nèi)存 Buffer 內(nèi)的數(shù)據(jù)回寫入虛擬磁盤中。 這個動作是為了確保操作系統(tǒng)有把所有的數(shù)據(jù)回寫入磁盤,否則當您通過備份文件恢復虛擬機時可能會遇到數(shù)據(jù)不一致的問題。


  讓我們通過上圖示例,看看及時備份是如何工作的吧!

  ◆通過微軟或者第三方廠商所提供的備份軟件,要求 Hyper-V 備份一個或多個虛擬機。

  ◆通過在 LIS 內(nèi)的 VSS 驅(qū)動程序,Hyper-V 與 Linux 虛擬機溝通并開始備份程序。 而這個稱作 VSS 的驅(qū)動程序其實是因為部分功能類似于 Windows 中 ”Volume Shadow Copy Service” 而命名。 但不盡相同,因此別把這兩個名稱視為同一種技術。

  ◆而 VSS 驅(qū)動程序與 Linux User space 內(nèi)的 VSS 服務溝通,而 VSS 服務將會向 Linux 發(fā)出暫停文件系統(tǒng)與回寫內(nèi)存回虛擬磁盤請求。

  ◆Hyper-V 將會建立一個備份的檢查點(Check point ),并告訴 LIS 可以將系統(tǒng)狀態(tài)解除暫停。 而 Linux 文件系統(tǒng)僅會在第三與第四步驟時暫停操作,而這足夠?qū)?nèi)存內(nèi)的數(shù)據(jù)回寫并且建立虛擬機檢查點,通常這個動作會小于 2 秒。

  ◆在 Hyper-V 內(nèi)的 Windows VSS 將會對該虛擬磁盤建立一個快照磁盤卷(VHD/VHDX)。

  ◆而備份軟件再將此 VHD/VHDX 復制到其他的儲存空間上。

  小結

  動態(tài)內(nèi)存配置以及及時備份是您在 Hyper-V 上運行 Linux 時相當重要的功能。這兩項功能需要 Hyper-V 主機與客戶端操作系統(tǒng)間密切的協(xié)同處理方能達成的功能。而現(xiàn)在微軟已經(jīng)將這兩項功能帶至 Hyper-V 與 Linux 之中。

責任編輯:武曉燕 來源: Winclient博客
相關推薦

2025-03-26 00:00:05

2010-03-02 08:53:59

Windows 8動態(tài)內(nèi)存

2010-03-01 09:09:21

Windows 8動態(tài)內(nèi)存

2015-11-16 15:20:30

微軟開源Linux

2022-01-13 10:30:21

C語言內(nèi)存動態(tài)

2011-07-28 10:03:53

Hyper-V動態(tài)內(nèi)存

2022-01-07 15:10:53

C++動態(tài)內(nèi)存

2010-08-18 10:05:28

Hyper-V動態(tài)內(nèi)存

2009-09-15 10:45:52

Linux驅(qū)動Linux微軟

2022-04-26 06:21:59

編程動態(tài)內(nèi)存

2024-01-26 16:28:28

C++動態(tài)內(nèi)存開發(fā)

2012-04-01 14:38:06

Windows Ser虛擬化

2018-06-06 08:28:37

Spark內(nèi)存管理

2022-03-18 22:39:57

動態(tài)內(nèi)存malloc

2011-07-20 13:47:14

CC++

2009-04-01 18:20:27

Linux微軟兼容

2009-09-29 10:52:34

Linux自動備份操作系統(tǒng)

2011-12-23 09:21:03

微軟云計算linux

2009-04-01 08:33:13

LinuxWindows兼容

2013-10-12 13:01:51

Linux運維內(nèi)存管理
點贊
收藏

51CTO技術棧公眾號