亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種虛擬機(jī)內(nèi)存回收方法及裝置與流程

文檔序號(hào):12719173閱讀:358來(lái)源:國(guó)知局
一種虛擬機(jī)內(nèi)存回收方法及裝置與流程

本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種虛擬機(jī)內(nèi)存回收方法及裝置。



背景技術(shù):

隨著計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)的快速發(fā)展,操作系統(tǒng)虛擬化技術(shù)日益成熟,虛擬化系統(tǒng)允許多個(gè)操作系統(tǒng)并發(fā)運(yùn)行在同一臺(tái)物理主機(jī)(以下簡(jiǎn)稱物理機(jī))上,所述多個(gè)操作系統(tǒng)使用相同的硬件且彼此互不影響。然而,不同的計(jì)算機(jī)硬件資源在使用時(shí)有著不同的特點(diǎn)。對(duì)于中央處理器CPU和輸入輸出(I/O)等天然的時(shí)分復(fù)用型資源,在使用完畢后,這些資源由虛擬機(jī)監(jiān)控器(英文簡(jiǎn)稱為VMM,英文全稱為Virtual Machine Monitor)收回,不會(huì)處于繼續(xù)使用的狀態(tài)。但對(duì)于內(nèi)存等空間型資源來(lái)說(shuō),虛擬機(jī)第一次使用某個(gè)內(nèi)存頁(yè)時(shí),會(huì)向VMM申請(qǐng)資源,但實(shí)際的內(nèi)存使用情況VMM無(wú)法感知,也無(wú)法釋放掉未使用的內(nèi)存頁(yè),這會(huì)造成一些不必要的頁(yè)面交換和頁(yè)面合并的開(kāi)銷(xiāo),影響虛擬機(jī)的性能。

現(xiàn)有技術(shù)中,內(nèi)核虛擬機(jī)(英文簡(jiǎn)稱為KVM,英文全稱為Kenel-based Virtual Machine)為了簡(jiǎn)化虛擬機(jī)資源的管理,把虛擬機(jī)抽象成了系統(tǒng)中的一個(gè)進(jìn)程,采用峰值分配的方法限定虛擬機(jī)內(nèi)存分配的上限。這種分配方式會(huì)因?yàn)閮?nèi)存分配給虛擬機(jī)后,內(nèi)存資源占而不用造成一些不必要的損耗,影響虛擬機(jī)的性能。



技術(shù)實(shí)現(xiàn)要素:

本申請(qǐng)實(shí)施例提供了一種虛擬機(jī)內(nèi)存回收方法及裝置,可以有效回收虛擬機(jī)占用的內(nèi)存資源,實(shí)現(xiàn)內(nèi)存資源的高效時(shí)分復(fù)用,提高系統(tǒng)運(yùn)行效率。

為此,本申請(qǐng)實(shí)施例提供如下技術(shù)方案:

第一方面,本申請(qǐng)實(shí)施例提供了一種虛擬機(jī)內(nèi)存回收方法,包括:監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存;回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息。

在一些實(shí)施方式中,所述監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存包括:利用虛擬機(jī)空閑內(nèi)存鏈表記錄內(nèi)存使用狀態(tài),根據(jù)所述空閑內(nèi)存鏈表記錄確定處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述處于未使用狀態(tài)的內(nèi)存為通過(guò)匿名映射方式分配給虛擬機(jī)的內(nèi)存。

在一些實(shí)施方式中,所述處于未使用狀態(tài)的內(nèi)存為分配時(shí)間大于第一設(shè)定閾值且使用頻率低于第二設(shè)定閾值的內(nèi)存。

在一些實(shí)施方式中,所述方法還包括:為首次分配給虛擬機(jī)且處于未使用狀態(tài)的內(nèi)存設(shè)置第一標(biāo)志位;所述根據(jù)所述空閑內(nèi)存鏈表記錄確定處于未使用狀態(tài)的內(nèi)存包括:將除設(shè)置第一標(biāo)志位之外的未使用內(nèi)存確定為處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息包括:鎖定所述處于未使用狀態(tài)的內(nèi)存,將所述內(nèi)存進(jìn)行置零處理,釋放所述內(nèi)存;更新內(nèi)存分配信息,解鎖所述內(nèi)存,以便于重新分配所述內(nèi)存。

第二方面,本申請(qǐng)實(shí)施例提供了一種虛擬機(jī)內(nèi)存回收裝置,包括:確定模塊,用于監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存;回收模塊,用于回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息。

在一些實(shí)施方式中,所述確定模塊具體用于:利用虛擬機(jī)空閑內(nèi)存鏈表記錄內(nèi)存使用狀態(tài),根據(jù)所述空閑內(nèi)存鏈表記錄確定處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述回收模塊具體用于:鎖定所述處于未使用狀態(tài)的內(nèi)存,將所述內(nèi)存進(jìn)行置零處理,釋放所述內(nèi)存;更新內(nèi)存分配信息,解鎖所述內(nèi)存,以便于重新分配所述內(nèi)存。

第三方面,本申請(qǐng)實(shí)施例提供了一種用于虛擬機(jī)內(nèi)存回收的裝置,包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存;回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息。

本申請(qǐng)實(shí)施例提供的虛擬機(jī)內(nèi)存回收方法及裝置,可以監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存,并回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息,以便重新分配回收的內(nèi)存。由此,可以有效地對(duì)回收分配給虛擬機(jī)占而不用的內(nèi)存,實(shí)現(xiàn)內(nèi)存資源的高效時(shí)分復(fù)用,提高系統(tǒng)的運(yùn)行效率。

附圖說(shuō)明

為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)中記載的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。

圖1為本申請(qǐng)實(shí)施例提供的虛擬機(jī)內(nèi)存回收方法示意圖;

圖2為本申請(qǐng)實(shí)施例提供的虛擬機(jī)內(nèi)存回收架構(gòu)示意圖;

圖3為本申請(qǐng)實(shí)施例提供的虛擬機(jī)內(nèi)存回收裝置示意圖;

圖4為本申請(qǐng)實(shí)施例提供的用于虛擬機(jī)內(nèi)存回收的裝置的示意圖。

具體實(shí)施方式

本申請(qǐng)實(shí)施例提供了一種虛擬機(jī)內(nèi)存回收方法及裝置,可以有效回收虛擬機(jī)占用的內(nèi)存資源,實(shí)現(xiàn)內(nèi)存資源的高效時(shí)分復(fù)用,提高系統(tǒng)運(yùn)行效率。

為了使本技術(shù)領(lǐng)域的人員更好地理解本申請(qǐng)方案,下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請(qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。

在本申請(qǐng)實(shí)施例中使用的術(shù)語(yǔ)是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本申請(qǐng)。在本申請(qǐng)實(shí)施例和所附權(quán)利要求書(shū)中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義。還應(yīng)當(dāng)理解,本文中使用的術(shù)語(yǔ)“和/或”是指并包含一個(gè)或多個(gè)相關(guān)聯(lián)的列出項(xiàng)目的任何或所有可能組合。

其中,本申請(qǐng)實(shí)施例涉及的技術(shù)術(shù)語(yǔ)“物理機(jī)”一般用于表示物理實(shí)體計(jì)算機(jī),為虛擬機(jī)提供硬件環(huán)境。

其中,本申請(qǐng)實(shí)施例涉及的技術(shù)術(shù)語(yǔ)“虛擬機(jī)”(英文全稱為Virtual Machine)一般指通過(guò)軟件模擬的具有完整硬件系統(tǒng)功能的、運(yùn)行在一個(gè)完全隔離環(huán)境中的完整計(jì)算機(jī)系統(tǒng)。一般地,通過(guò)物理機(jī)和虛擬機(jī)的配合,一臺(tái)計(jì)算機(jī)上可以安裝上多個(gè)操作系統(tǒng),并且多個(gè)操作系統(tǒng)間互不影響。

下面將結(jié)合附圖1至附圖2對(duì)本申請(qǐng)示例性實(shí)施例示出的虛擬機(jī)內(nèi)存回收方法進(jìn)行介紹。

參見(jiàn)圖1,為本申請(qǐng)一實(shí)施例提供的虛擬機(jī)內(nèi)存回收方法流程圖。如圖1所示,可以包括:

S101,監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存。

在本申請(qǐng)具體實(shí)現(xiàn)時(shí),可以監(jiān)控虛擬機(jī)(也可以稱之為客戶機(jī))內(nèi)存使用狀態(tài),并可以回收虛擬機(jī)中處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述處于未使用狀態(tài)的內(nèi)存為通過(guò)匿名映射方式分配給虛擬機(jī)且處于未使用狀態(tài)的內(nèi)存。以Linux操作系統(tǒng)為例進(jìn)行說(shuō)明。在Linnux系統(tǒng)中中,一般有兩種內(nèi)存申請(qǐng)方式,分別對(duì)應(yīng)mmap(一般用于將一個(gè)文件或者對(duì)象映射到內(nèi)存)和brk(一般用于調(diào)用動(dòng)態(tài)內(nèi)存)兩個(gè)系統(tǒng)調(diào)用。其中,mmap用于將硬盤(pán)上的文件映像加載到內(nèi)存,常用于加載程序和文件,是緩存機(jī)制的重要環(huán)節(jié)。Brk所申請(qǐng)的內(nèi)存是匿名映射的內(nèi)存,用于程序動(dòng)態(tài)申請(qǐng)內(nèi)存的分配,與緩存無(wú)關(guān),此類(lèi)內(nèi)存大量存在于各種應(yīng)用程序的內(nèi)存映射中,可以被回收的也是這部分內(nèi)存。虛擬機(jī)向物理機(jī)申請(qǐng)內(nèi)存成功,若使用完畢所述內(nèi)存,在虛擬機(jī)內(nèi)部釋放掉內(nèi)存后,這部分內(nèi)存就處于未使用狀態(tài)?,F(xiàn)有技術(shù)中,物理機(jī)并不能夠感知虛擬機(jī)內(nèi)部?jī)?nèi)存的使用狀態(tài)。在本申請(qǐng)中,可以監(jiān)控虛擬機(jī)的內(nèi)存使用狀態(tài),并對(duì)處于未使用狀態(tài)的內(nèi)存進(jìn)行分配。具體地,可以通過(guò)安裝在虛擬機(jī)內(nèi)部的驅(qū)動(dòng)程序,收集整理處于未使用狀態(tài)的內(nèi)存,并可以通過(guò)一定的篩選機(jī)制,去除剛分配但未使用的內(nèi)存部分,確定已被虛擬機(jī)使用過(guò)但當(dāng)前不再使用的內(nèi)存,并通知物理機(jī)回收所述已被虛擬機(jī)使用過(guò)但當(dāng)前不再使用的內(nèi)存,并對(duì)內(nèi)存資源進(jìn)行再分配。

具體實(shí)現(xiàn)時(shí),可以利用虛擬機(jī)空閑內(nèi)存鏈表記錄內(nèi)存使用狀態(tài),根據(jù)所述空閑內(nèi)存鏈表記錄確定處于未使用狀態(tài)的內(nèi)存。舉例說(shuō)明,所述虛擬機(jī)空閑內(nèi)存鏈表可以記錄分配給虛擬機(jī)的內(nèi)存的信息。所述內(nèi)存的信息可以包括分配給虛擬機(jī)的內(nèi)存的地址、內(nèi)存的使用狀態(tài)以及內(nèi)存是否回收等信息。其中,可以通過(guò)記錄內(nèi)存的訪問(wèn)頻率,將訪問(wèn)頻率小于第二設(shè)定閾值的內(nèi)存標(biāo)記為處于未使用狀態(tài)。當(dāng)然,也可以通過(guò)其他方式確定出演未使用狀態(tài)的內(nèi)存。在內(nèi)存信息發(fā)生改變時(shí),本申請(qǐng)實(shí)施例可以通過(guò)增量更新的方式更新所述虛擬機(jī)空閑內(nèi)存鏈表的信息。

在一些實(shí)施方式中,為了避免剛分配給虛擬機(jī)但未使用的內(nèi)存被回收,可以設(shè)置所述處于未使用狀態(tài)的內(nèi)存為分配時(shí)間大于第一設(shè)定閾值且使用頻率低于第二設(shè)定閾值的內(nèi)存。通過(guò)所述設(shè)置,可以排除剛分配未使用的內(nèi)存,由此實(shí)現(xiàn)內(nèi)存資源的有效利用。當(dāng)然,在一些實(shí)施方式中,還可以采用其他方式避免剛分配給虛擬機(jī)但未使用的內(nèi)存被回收。例如,可以為首次分配給虛擬機(jī)且處于未使用狀態(tài)的內(nèi)存設(shè)置第一標(biāo)志位。在確定處于未使用狀態(tài)的內(nèi)存時(shí),將除設(shè)置第一標(biāo)志位之外的未使用內(nèi)存確定為處于未使用狀態(tài)的內(nèi)存。

在具體實(shí)現(xiàn)時(shí),可以由虛擬機(jī)內(nèi)部的驅(qū)動(dòng)模塊監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài)。在內(nèi)存資源緊張時(shí),被標(biāo)記為處于未使用狀態(tài)的內(nèi)存,不論其是否真實(shí)占用物理機(jī)的物理內(nèi)存頁(yè)面,都可以通知VMM,對(duì)其進(jìn)行釋放。

S102,回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息。

在本申請(qǐng)具體實(shí)現(xiàn)時(shí),所述回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息包括:鎖定所述處于未使用狀態(tài)的內(nèi)存,將所述內(nèi)存進(jìn)行置零處理,釋放所述內(nèi)存;更新內(nèi)存分配信息,解鎖所述內(nèi)存,以便于重新分配所述內(nèi)存。

舉例說(shuō)明,對(duì)于已經(jīng)記錄的處于未使用狀態(tài)、需要釋放的物理內(nèi)存,出于安全的考慮,可以首先使用down_write函數(shù)對(duì)該區(qū)間內(nèi)存執(zhí)行鎖定操作。執(zhí)行鎖定操作可以有效避免對(duì)所述內(nèi)存的訪問(wèn)出錯(cuò)。進(jìn)一步的,在釋放物理內(nèi)存頁(yè)面前可以先對(duì)該區(qū)域內(nèi)存執(zhí)行置零處理,使所述內(nèi)存恢復(fù)到原始狀態(tài),然后對(duì)所述內(nèi)存執(zhí)行釋放操作。在釋放操作后,可以通過(guò)物理機(jī)內(nèi)存管理單元及時(shí)更新物理機(jī)的塊表,所述塊表一般用于記錄內(nèi)存分配信息。最后用up_write函數(shù)解除對(duì)該內(nèi)存區(qū)域的鎖定,從而實(shí)現(xiàn)了與其他超量使用內(nèi)存策略的兼容。

參見(jiàn)圖2,為本申請(qǐng)一實(shí)施例提供的內(nèi)存回收架構(gòu)示意圖。如圖2所示,物理機(jī)內(nèi)存管理單元用于分配內(nèi)存給虛擬機(jī)(又可以稱之為客戶機(jī))。虛擬機(jī)內(nèi)部已經(jīng)使用的內(nèi)存釋放后即成為已經(jīng)分配處于未使用狀態(tài)的內(nèi)存。KVM(VVM的一種)模塊可以收集虛擬機(jī)中處于未使用狀態(tài)的內(nèi)存,并在滿足第一設(shè)定條件時(shí)釋放所述內(nèi)存,由物理機(jī)內(nèi)存管理單元對(duì)釋放的內(nèi)存進(jìn)行重新分配。所述第一設(shè)定條件可以為確定內(nèi)存資源緊張時(shí),例如內(nèi)存占用大于設(shè)定閾值時(shí)。所述第一設(shè)定條件可以為確定內(nèi)存超量占用時(shí),例如分配給虛擬機(jī)的內(nèi)存總量大于設(shè)定閾值。具體的條件可以是非常靈活的,在此不進(jìn)行限定。

在本申請(qǐng)一個(gè)具體實(shí)施場(chǎng)景中,可以在虛擬機(jī)中安裝相關(guān)驅(qū)動(dòng),并部署修改后的KVM內(nèi)核代碼,其中KVM內(nèi)核修改需要定位釋放的內(nèi)存地址,鎖定內(nèi)存,釋放并解鎖,完成對(duì)內(nèi)存資源的釋放。具體實(shí)施時(shí),可以部署修改KVM內(nèi)存代碼回收代碼后的KVM環(huán)境,安裝虛擬機(jī)操作系統(tǒng),在虛擬機(jī)中安裝相關(guān)驅(qū)動(dòng),正常運(yùn)行程序。在系統(tǒng)內(nèi)存資源緊張時(shí)會(huì)出發(fā)內(nèi)存回收機(jī)制,這時(shí),可以通過(guò)驅(qū)動(dòng)監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存,并通知KVM,由KVM回收所述處于未使用狀態(tài)的內(nèi)存,物理機(jī)內(nèi)存管理單元更新內(nèi)存分配信息。

當(dāng)然,以上僅為示例性說(shuō)明,不視為對(duì)本申請(qǐng)的限制。

下面對(duì)本申請(qǐng)實(shí)施例提供的方法對(duì)應(yīng)的設(shè)備進(jìn)行介紹。

參見(jiàn)圖3,為本申請(qǐng)一實(shí)施例提供的虛擬機(jī)內(nèi)存回收裝置示意圖。

一種虛擬機(jī)內(nèi)存回收裝置300,包括:

確定模塊301,用于監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存.

回收模塊302,用于回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息。

在一些實(shí)施方式中,所述確定模塊301具體用于:利用虛擬機(jī)空閑內(nèi)存鏈表記錄內(nèi)存使用狀態(tài),根據(jù)所述空閑內(nèi)存鏈表記錄確定處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述確定模塊301具體用于:將所述空閑內(nèi)存鏈表記錄中通過(guò)匿名映射方式分配給虛擬機(jī)且未使用的內(nèi)存確定為處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述確定模塊301具體用于:根據(jù)所述空閑內(nèi)存鏈表記錄確定分配時(shí)間大于第一設(shè)定閾值且使用頻率低于第二設(shè)定閾值的內(nèi)存為處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述裝置還包括:

設(shè)置單元,用于為首次分配給虛擬機(jī)且處于未使用狀態(tài)的內(nèi)存設(shè)置第一標(biāo)志位;

在一些實(shí)施方式中,所述確定模塊301具體用于:將除設(shè)置第一標(biāo)志位之外的未使用內(nèi)存確定為處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,所述回收模塊302具體用于:

鎖定所述處于未使用狀態(tài)的內(nèi)存,將所述內(nèi)存進(jìn)行置零處理,釋放所述內(nèi)存;更新內(nèi)存分配信息,解鎖所述內(nèi)存,以便于重新分配所述內(nèi)存。

在一些實(shí)施方式中,本申請(qǐng)裝置各單元或模塊的設(shè)置可以參照?qǐng)D1至圖2所示的方法而實(shí)現(xiàn),在此不贅述。

參見(jiàn)圖4,是本申請(qǐng)另一實(shí)施例提供的虛擬機(jī)內(nèi)存回收的裝置的框圖。包括:至少一個(gè)處理器401(例如CPU),存儲(chǔ)器402和至少一個(gè)通信總線403,用于實(shí)現(xiàn)這些裝置之間的連接通信。處理器401用于執(zhí)行存儲(chǔ)器402中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。存儲(chǔ)器402可能包含高速隨機(jī)存取存儲(chǔ)器(RAM:Random Access Memory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤(pán)存儲(chǔ)器。一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器401執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:

監(jiān)控虛擬機(jī)內(nèi)存使用狀態(tài),確定處于未使用狀態(tài)的內(nèi)存;

回收所述處于未使用狀態(tài)的內(nèi)存,更新內(nèi)存分配信息。

在一些實(shí)施方式中,處理器401具體用于執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:

利用虛擬機(jī)空閑內(nèi)存鏈表記錄內(nèi)存使用狀態(tài),根據(jù)所述空閑內(nèi)存鏈表記錄確定處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,處理器401具體用于執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:

鎖定所述處于未使用狀態(tài)的內(nèi)存,將所述內(nèi)存進(jìn)行置零處理,釋放所述內(nèi)存;

更新內(nèi)存分配信息,解鎖所述內(nèi)存,以便于重新分配所述內(nèi)存。

在一些實(shí)施方式中,處理器401具體用于執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:

為首次分配給虛擬機(jī)且處于未使用狀態(tài)的內(nèi)存設(shè)置第一標(biāo)志位;

將除設(shè)置第一標(biāo)志位之外的未使用內(nèi)存確定為處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,處理器401具體用于執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:

將所述空閑內(nèi)存鏈表記錄中通過(guò)匿名映射方式分配給虛擬機(jī)且未使用的內(nèi)存確定為處于未使用狀態(tài)的內(nèi)存。

在一些實(shí)施方式中,處理器401具體用于執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:

根據(jù)所述空閑內(nèi)存鏈表記錄確定分配時(shí)間大于第一設(shè)定閾值且使用頻率低于第二設(shè)定閾值的內(nèi)存為處于未使用狀態(tài)的內(nèi)存。

本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的發(fā)明后,將容易想到本申請(qǐng)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本申請(qǐng)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本申請(qǐng)的一般性原理并包括本公開(kāi)未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本申請(qǐng)的真正范圍和精神由下面的權(quán)利要求指出。

應(yīng)當(dāng)理解的是,本申請(qǐng)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本申請(qǐng)的范圍僅由所附的權(quán)利要求來(lái)限制

以上所述僅為本申請(qǐng)的較佳實(shí)施例,并不用以限制本申請(qǐng),凡在本申請(qǐng)的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請(qǐng)的保護(hù)范圍之內(nèi)。

需要說(shuō)明的是,在本文中,諸如第一和第二等之類(lèi)的關(guān)系術(shù)語(yǔ)僅僅用來(lái)將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開(kāi)來(lái),而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語(yǔ)“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過(guò)程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒(méi)有明確列出的其他要素,或者是還包括為這種過(guò)程、方法、物品或者設(shè)備所固有的要素。在沒(méi)有更多限制的情況下,由語(yǔ)句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過(guò)程、方法、物品或者設(shè)備中還存在另外的相同要素。本申請(qǐng)可以在由計(jì)算機(jī)執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。也可以在分布式計(jì)算環(huán)境中實(shí)踐本申請(qǐng),在這些分布式計(jì)算環(huán)境中,由通過(guò)通信網(wǎng)絡(luò)而被連接的遠(yuǎn)程處理設(shè)備來(lái)執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。

本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于裝置實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。以上所描述的裝置實(shí)施例僅僅是示意性的,在一些實(shí)施方式中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇在一些實(shí)施方式中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。以上所述僅是本申請(qǐng)的具體實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本申請(qǐng)?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本申請(qǐng)的保護(hù)范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1