[發(fā)明專利]一種內(nèi)存管理方法、系統(tǒng)、計算機(jī)設(shè)備及存儲介質(zhì)有效
| 申請?zhí)枺?/td> | 202010534513.6 | 申請日: | 2020-06-12 |
| 公開(公告)號: | CN111679914B | 公開(公告)日: | 2023-06-27 |
| 發(fā)明(設(shè)計)人: | 皮振偉;葉璐 | 申請(專利權(quán))人: | 北京字節(jié)跳動網(wǎng)絡(luò)技術(shù)有限公司 |
| 主分類號: | G06F9/50 | 分類號: | G06F9/50;G06F9/455;G06F12/02 |
| 代理公司: | 北京中知法苑知識產(chǎn)權(quán)代理有限公司 11226 | 代理人: | 李明;趙吉陽 |
| 地址: | 100041 北京市石景山區(qū)*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 內(nèi)存 管理 方法 系統(tǒng) 計算機(jī) 設(shè)備 存儲 介質(zhì) | ||
本申請?zhí)峁┝艘环N內(nèi)存管理方法、系統(tǒng)、計算機(jī)設(shè)備及存儲介質(zhì),其中,該方法應(yīng)用于物理機(jī)內(nèi)核中的內(nèi)核態(tài)進(jìn)程時包括:響應(yīng)內(nèi)存回收事件的觸發(fā),基于物理機(jī)中的當(dāng)前內(nèi)存使用信息,生成內(nèi)存回收信息;將內(nèi)存回收信息傳遞給內(nèi)存管理用戶態(tài)進(jìn)程。該方法應(yīng)用于物理機(jī)中部署的內(nèi)存管理用戶態(tài)進(jìn)程時包括:獲取內(nèi)存回收信息,并獲取運(yùn)行在所述物理機(jī)上的各臺虛擬機(jī)的內(nèi)存狀態(tài)信息;從各臺所述虛擬機(jī)中確定目標(biāo)虛擬機(jī),以及與每臺目標(biāo)虛擬機(jī)分別對應(yīng)的待回收內(nèi)存量;基于待回收內(nèi)存量,對各臺所述目標(biāo)虛擬機(jī)進(jìn)行內(nèi)存回收。該方法能夠在內(nèi)存超分配的情況下,當(dāng)物理機(jī)內(nèi)存不足的時候,靈活、動態(tài)回收虛擬機(jī)的部分內(nèi)存,以提升內(nèi)存的使用效率。
技術(shù)領(lǐng)域
本申請涉及虛擬機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種內(nèi)存管理方法、系統(tǒng)、計算機(jī)設(shè)備及存儲介質(zhì)。
背景技術(shù)
隨著互聯(lián)網(wǎng)的發(fā)展,大量的互聯(lián)網(wǎng)業(yè)務(wù)部署在計算機(jī)服務(wù)器上。計算機(jī)服務(wù)器主要資源包括中央處理器(Central?Processing?Unit,CPU)、內(nèi)存、網(wǎng)絡(luò)和硬盤等。內(nèi)存作為一個關(guān)鍵資源,如何提高內(nèi)存利用率是一個重要課題。虛擬化技術(shù)是將物理資源虛擬化后使用,可以將一臺物理機(jī)虛擬成多臺虛擬機(jī)。在虛擬化場景下,物理內(nèi)存資源由多臺虛擬機(jī)共同使用,且多個虛擬機(jī)之間完全隔離,各自管理各自虛擬機(jī)的虛擬內(nèi)存資源。
在虛擬化場景下,物理機(jī)在進(jìn)行內(nèi)存管理時,存在內(nèi)存的使用效率和虛擬機(jī)運(yùn)行的穩(wěn)定性無法兼顧的問題。
發(fā)明內(nèi)容
有鑒于此,本申請實施例的目的在于提供一種管理方法、系統(tǒng)、計算機(jī)設(shè)備及存儲介質(zhì),能夠在內(nèi)存超分配的情況下,當(dāng)物理機(jī)內(nèi)存不足的時候,回收虛擬機(jī)的部分內(nèi)存,以提升內(nèi)存的使用效率。
第一方面,本申請實施例提供了一種內(nèi)存管理方法,應(yīng)用于物理機(jī)用于內(nèi)存回收的內(nèi)核態(tài)進(jìn)程,所述內(nèi)存管理方法包括:
響應(yīng)內(nèi)存回收事件的觸發(fā),根據(jù)物理機(jī)中的當(dāng)前內(nèi)存使用信息,生成內(nèi)存回收信息;
將所述內(nèi)存回收信息傳遞給內(nèi)存管理用戶態(tài)進(jìn)程;
所述內(nèi)存回收信息用于所述內(nèi)存管理用戶態(tài)進(jìn)程從運(yùn)行在所述物理機(jī)上的多臺虛擬機(jī)中確定目標(biāo)虛擬機(jī),并對所述目標(biāo)虛擬機(jī)進(jìn)行內(nèi)存回收。
一種可選實施方式中,所述將所述內(nèi)存回收信息傳遞給內(nèi)存管理用戶態(tài)進(jìn)程,包括:
將所述內(nèi)存回收信息寫入內(nèi)存回收信息隊列中,以便所述內(nèi)存管理用戶態(tài)進(jìn)程在監(jiān)聽到所述內(nèi)存回收信息隊列中存在內(nèi)存回收信息后,從所述內(nèi)存回收信息隊列中讀取所述內(nèi)存回收信息。
一種可選實施方式中,所述內(nèi)存回收信息包括:需要回收內(nèi)存的非一致性記憶存取NUMA節(jié)點信息、需要回收的內(nèi)存量大小、已經(jīng)回收的內(nèi)存量大小中一種或者多種。
一種可選實施方式中,所述將所述內(nèi)存回收信息寫入內(nèi)存回收信息隊列中,具體包括:
檢測所述內(nèi)存回收信息隊列中已經(jīng)存在的內(nèi)存回收信息的條數(shù)是否達(dá)到預(yù)設(shè)數(shù)量;
若達(dá)到,則刪除所述內(nèi)存回收信息隊列中隊首的一條內(nèi)存回收信息,并將當(dāng)前內(nèi)存回收信息寫入所述內(nèi)存回收信息隊列的隊尾。
一種可選實施方式中,還包括:
檢測所述內(nèi)存管理用戶態(tài)進(jìn)程是否在監(jiān)聽所述內(nèi)存回收信息隊列;
若所述內(nèi)存管理用戶態(tài)進(jìn)程并未監(jiān)聽所述內(nèi)存回收信息隊列,則向所述物理機(jī)的內(nèi)核發(fā)送內(nèi)存回收指令,以便所述物理機(jī)的內(nèi)核執(zhí)行內(nèi)存回收。
第二方面,本申請實施例還提供了一種內(nèi)存管理方法,應(yīng)用于物理機(jī)中部署的內(nèi)存管理用戶態(tài)進(jìn)程,該內(nèi)存管理方法包括:
獲取物理機(jī)中的內(nèi)核態(tài)進(jìn)程傳輸?shù)膬?nèi)存回收信息,并獲取運(yùn)行在所述物理機(jī)上的各臺虛擬機(jī)的內(nèi)存狀態(tài)信息;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京字節(jié)跳動網(wǎng)絡(luò)技術(shù)有限公司,未經(jīng)北京字節(jié)跳動網(wǎng)絡(luò)技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010534513.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





