欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng)的制作方法

文檔序號:9375368閱讀:190來源:國知局
一種虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機網(wǎng)絡(luò)技術(shù)領(lǐng)域,具體涉及一種虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng)。
【背景技術(shù)】
[0002]虛擬化技術(shù)通常是指在單個主機上虛擬化出多個獨立的虛擬機,每一臺虛擬機((Virtual Machine)為具有完整硬件系統(tǒng)功能、運行在一個完全隔離環(huán)境中的完整計算機系統(tǒng)。由于虛擬化技術(shù)可極大提高資源利用率,還具有方便管理和升級系統(tǒng)資源的優(yōu)點,以及能夠提供相互隔離、安全、高效的應(yīng)用執(zhí)行環(huán)境,目前已廣泛應(yīng)用于各個技術(shù)領(lǐng)域。
[0003]但是,現(xiàn)有技術(shù)中,在主機上創(chuàng)建虛擬機時,需要在創(chuàng)建時為虛擬機分配固定內(nèi)存,并且,各個虛擬機在運行時也占有該固定內(nèi)存,該種固定內(nèi)存分配方式具有以下不足:由于虛擬機在運行時對內(nèi)存資源的需求是動態(tài)變化的,例如,在某一時刻,如果該虛擬機需要使用的內(nèi)存資源小于初始分配的內(nèi)存資源,則該種情況導(dǎo)致主機內(nèi)存資源浪費,降低了主機可支持的虛擬機數(shù)量;在另一時刻,如果該虛擬機需要使用的內(nèi)存資源大于初始分配的內(nèi)存資源時,則將降低該虛擬機運行性能,甚至導(dǎo)致該虛擬機出現(xiàn)卡頓現(xiàn)象。

【發(fā)明內(nèi)容】

[0004]針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明提供一種虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng),在同一運行環(huán)境中,可動態(tài)實時調(diào)整多臺服務(wù)器上所有虛擬機的內(nèi)存分配情況,提高整個系統(tǒng)的資源利用率。
[0005]本發(fā)明采用的技術(shù)方案如下:
[0006]本發(fā)明提供一種虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng),包括N臺服務(wù)器和I個內(nèi)存管理分配平臺;每一臺服務(wù)器均設(shè)置有網(wǎng)絡(luò)通信接口 ;各臺服務(wù)器通過各自的網(wǎng)絡(luò)通信接口與所述內(nèi)存管理分配平臺通信;其中,N為自然數(shù);
[0007]其中,每一臺服務(wù)器上均構(gòu)建有η個虛擬機和一個內(nèi)存調(diào)節(jié)模塊;其中,η為自然數(shù);每一個所述虛擬機內(nèi)部均創(chuàng)建一個內(nèi)存采集模塊;所述內(nèi)存采集模塊用于定時采集其所屬虛擬機在當(dāng)前時刻的內(nèi)存實際使用值,并將所述內(nèi)存實際使用值及對應(yīng)的虛擬機標(biāo)識通過虛擬串口傳遞給所述網(wǎng)絡(luò)通信接口;
[0008]所述網(wǎng)絡(luò)通信接口用于將本臺服務(wù)器中各個虛擬機上傳的內(nèi)存實際使用值及對應(yīng)的虛擬機標(biāo)識通過網(wǎng)絡(luò)傳輸給所述內(nèi)存管理分配平臺;
[0009]所述內(nèi)存管理分配平臺用于按照預(yù)設(shè)的內(nèi)存管理策略判斷是否需要對特定虛擬機的內(nèi)存分配情況進(jìn)行調(diào)整,如果需要,則計算出需要調(diào)整的數(shù)值,生成內(nèi)存調(diào)整指令,并將所述內(nèi)存調(diào)整指令發(fā)送給所述特定虛擬機所在的特定服務(wù)器;
[0010]所述特定服務(wù)器在接收到對所述特定虛擬機的內(nèi)存調(diào)整指令后,通過所述內(nèi)存調(diào)節(jié)模塊調(diào)整對所述特定虛擬機的內(nèi)存分配情況。
[0011]優(yōu)選的,所述內(nèi)存管理分配平臺按照預(yù)設(shè)的內(nèi)存管理策略判斷是否需要對特定虛擬機的內(nèi)存分配情況進(jìn)行調(diào)整,具體為:
[0012]所述內(nèi)存管理分配平臺預(yù)先設(shè)定與特定虛擬機對應(yīng)的初始參數(shù)值,包括:內(nèi)存分配最大值mem_max ;內(nèi)存最低變化值lowerLimit、內(nèi)存最高變化值upperLimit ;
[0013]在T調(diào)整周期,設(shè)分配給特定虛擬機的內(nèi)存值為mem_old ;
[0014]在T+1調(diào)整周期,設(shè)內(nèi)存采集模塊上報的特定虛擬機當(dāng)前時刻的內(nèi)存實際使用值為 mem_average ;
[0015]則:計算mem_old 與 mem_average 的差值 M:
[0016](I)如果M = O,則得出所述特定虛擬機的分配內(nèi)存需要增加1werLimit的控制指令;
[0017](2)如果M > 0,則執(zhí)行以下步驟:
[0018]如果M〈 = lowerLimit,則得出所述特定虛擬機的內(nèi)存不需要進(jìn)行調(diào)整的控制指令;
[0019]如果lowerLimit〈M〈 = upperLimit,則得出所述特定虛擬機的分配內(nèi)存需要回收lowerLimit的控制指令;
[0020]如果M>upperLimit,則得出所述特定虛擬機的分配內(nèi)存需要回收(lowerLimit+upperLimit) /2 的控制指令;
[0021](3)如果M < 0,則執(zhí)行以下步驟:
[0022]如果|M|〈 = lowerLimit,則得出所述特定虛擬機的內(nèi)存不需要進(jìn)行調(diào)整的控制指令;
[0023]如果lowerLimit〈 |M|〈 = upperLimit,則得出所述特定虛擬機的分配內(nèi)存需要增加lowerLimit的控制指令;
[0024]如果|M| >upperLimit,則得出所述特定虛擬機的分配內(nèi)存需要增加(lowerLimit+upperLimit)/2 的控制指令。
[0025]優(yōu)選的,所述內(nèi)存采集模塊上報的特定虛擬機當(dāng)前時刻的內(nèi)存實際使用值mem_average具體為:預(yù)設(shè)定采樣次數(shù)number,所述內(nèi)存實際使用值mem_average為所述內(nèi)存采集模塊連續(xù)number次采樣得到的內(nèi)存實際使用值的平均值。
[0026]優(yōu)選的,所述虛擬機為基于QEMU之上的全虛擬化虛擬機。
[0027]本發(fā)明的有益效果如下:
[0028]本發(fā)明提供的虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng),通過外部程序即內(nèi)存管理分配平臺統(tǒng)一管理各服務(wù)器上虛擬機的動態(tài)分配決策,然后由每臺服務(wù)器上的執(zhí)行程序即內(nèi)存調(diào)節(jié)模塊對虛擬機內(nèi)存進(jìn)行獨立調(diào)整,在保證各服務(wù)器上虛擬機使用性能的前提下,實現(xiàn)資源利用的最大化;而對于服務(wù)器,通過及時釋放虛擬機的空閑內(nèi)存資源,能夠提高服務(wù)器支持的虛擬機數(shù)量。
【附圖說明】
[0029]圖1為本發(fā)明提供的虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0030]以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明:
[0031]本發(fā)明提供一種虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng),需要強調(diào)的是,本發(fā)明涉及到的虛擬機為基于QEMU之上的全虛擬化虛擬機。QEMU是一套由Fabrice Bellard所編寫的模擬處理器的自由軟件,是基于GPL協(xié)議的開放源代碼并且跨平臺的虛擬機軟件。其與Bochs,PearPC近似,但其具有某些后兩者所不具備的特性,如高速度及跨平臺的特性。經(jīng)由kqemu這個開源的加速器,QEMU能模擬至接近真實電腦的速度。全虛擬化是指虛擬機模擬了完整的底層硬件,包括處理器、物理內(nèi)存、時鐘、外設(shè)等,使得為原始硬件設(shè)計的操作系統(tǒng)或其它系統(tǒng)軟件完全不做任何修改就可以在虛擬機中運行。
[0032]如圖1所示,虛擬機內(nèi)存的動態(tài)調(diào)整系統(tǒng)包括N臺服務(wù)器和I個內(nèi)存管理分配平臺;每一臺服務(wù)器均設(shè)置有網(wǎng)絡(luò)通信接口 ;各臺服務(wù)器通過各自的網(wǎng)絡(luò)通信接口與所述內(nèi)存管理分配平臺通信;例如,基于TCP協(xié)議進(jìn)行信息交互;其中,N為自然數(shù);
[0033]其中,每一臺服務(wù)器上均構(gòu)建有η個虛擬機和一個內(nèi)存調(diào)節(jié)模塊;其中,η為自然數(shù);每一個所述虛擬機內(nèi)部均創(chuàng)建一個內(nèi)存采集模塊,所述內(nèi)存采集模塊用于定時采集其所屬虛擬機在當(dāng)前時刻的內(nèi)存實際使用值,并將所述內(nèi)存實際使用值及對應(yīng)的虛擬機標(biāo)識通過虛擬串口傳遞給所述網(wǎng)絡(luò)通信接口 ;其中,內(nèi)存采集模塊是基于特定虛擬機系統(tǒng)的程序,可以基于windows系統(tǒng),也可以基于Iinux系統(tǒng);內(nèi)存采集模塊運行在虛擬機內(nèi)部,需要根據(jù)操作系統(tǒng)不同做適配。例如在windows虛擬機內(nèi),使用windows系統(tǒng)API函數(shù)GlobalMemoryStatusEx獲取當(dāng)前內(nèi)存實際使用值;在Iinux虛擬機內(nèi),使用其他方式獲取。
[0034]所述網(wǎng)絡(luò)通信接口用于將本臺服務(wù)器中各個虛擬機上傳的內(nèi)存實際使用值及對應(yīng)的虛擬機標(biāo)識通過網(wǎng)絡(luò)傳輸給所述內(nèi)存管理分配平臺;
[0035]所述內(nèi)存管理分配平臺用于按照預(yù)設(shè)的內(nèi)存管理策略判斷是否需要對特定虛擬機的內(nèi)存分配情況進(jìn)行調(diào)整,如果需要,則計算出需要調(diào)整的數(shù)值,生成內(nèi)存調(diào)整指令,并將所述內(nèi)存調(diào)整指令發(fā)送給所述特定虛擬機所在的特定服務(wù)器;
[0036]所述特定服務(wù)器在接收到對所述特定虛擬機的內(nèi)存調(diào)整指令后,通過所述內(nèi)存調(diào)節(jié)模塊調(diào)整對所述特定虛擬機的內(nèi)存分配情況。
[0037]其中,內(nèi)存管理分配平臺按照預(yù)設(shè)的內(nèi)存管理策略判斷是否需要對特定虛擬機的內(nèi)存分配情況進(jìn)行調(diào)整,具體為:
[0038]所述內(nèi)存管理分配平臺預(yù)先設(shè)定與特定虛擬機對應(yīng)的初始參數(shù)值,包括:內(nèi)存分配最大值mem_max ;內(nèi)存最低變化值lowerLimit、內(nèi)存最高變化值upperLimit ;作為一種實現(xiàn)方式,可以設(shè)置lowerLimit和upperLimit為mem_max的一個分?jǐn)?shù)值,例如,如果設(shè)置mem—max = 4G ;
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
合肥市| 怀仁县| 北海市| 康定县| 威宁| 小金县| 北海市| 大厂| 石棉县| 米易县| 湟源县| 黔江区| 长白| 和硕县| 阿克陶县| 德令哈市| 桂林市| 广丰县| 巫山县| 托克逊县| 湖南省| 韶山市| 句容市| 区。| 新安县| 贵定县| 海盐县| 漳州市| 昭通市| 武鸣县| 海伦市| 盐边县| 松溪县| 崇仁县| 涞源县| 惠安县| 敦煌市| 商水县| 九台市| 缙云县| 喀什市|