[發明專利]內存回收方法和裝置有效
| 申請號: | 201310484776.0 | 申請日: | 2013-10-16 |
| 公開(公告)號: | CN103593298A | 公開(公告)日: | 2014-02-19 |
| 發明(設計)人: | 李建欣;沙晟陽;崔磊;李楠;鄭京生 | 申請(專利權)人: | 北京航空航天大學 |
| 主分類號: | G06F12/02 | 分類號: | G06F12/02;G06F9/455 |
| 代理公司: | 北京同立鈞成知識產權代理有限公司 11205 | 代理人: | 劉芳 |
| 地址: | 100191*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 內存 回收 方法 裝置 | ||
技術領域
本發明涉及一種計算機技術,尤其涉及一種內存回收方法和裝置。
背景技術
現有技術中,主要通過相同頁面合并機制實現對宿主機上虛擬機內存的回收。相同頁面合并機制的基本原理是掃描虛擬機的所有虛擬頁面,在上述虛擬頁面中查找相同頁面,針對相同頁面進行合并,即針對相同頁面在宿主機上只保留一份拷貝,相同頁面指的是內容完全相同的多個虛擬頁面。
然而現有技術中,相同頁面合并機制對虛擬機的所有虛擬頁面都需要進行掃描,降低了掃描效率,降低了內存頁面的合并效率,從而降低了宿主機上內存的回收效率。
發明內容
本發明提供一種內存回收方法和裝置,用于解決現有技術中內存回收效率低的問題。
本發明的第一方面是提供一種內存回收方法,包括:
獲取虛擬機的內存信息,所述內存信息包括:虛擬機的內存容量,虛擬機的內存中起始虛擬頁面的頁框號和終止虛擬頁面的頁框號;
根據所述內存信息確定所述虛擬機的內存中各虛擬頁面的頁框號;
查詢所述各虛擬頁面的頁框號對應的頁描述符,確定所述各虛擬頁面的頁面類型;
若虛擬頁面的頁面類型為空閑頁面,則確定所述虛擬頁面對應的回收策略為回收所述虛擬頁面在所述虛擬機所在的宿主機上對應的物理頁面,將所述虛擬頁面映射到所述宿主機上的零頁面;
根據所述回收策略對所述虛擬頁面進行處理。
基于本發明的第一方面,在第一方面的第一種可行的實施方式中,所述查詢所述各虛擬頁面的頁框號對應的頁描述符,確定所述各虛擬頁面的頁面類型之后,還包括:若虛擬頁面的頁面類型為索引節點頁面或大塊頁面,則確定所述虛擬頁面對應的回收策略為不對所述虛擬頁面進行處理。
基于本發明的第一方面,在第一方面的第二種可行的實施方式中,所述根據所述內存信息確定所述虛擬機的內存中各虛擬頁面的頁框號之前,還包括:
依次獲取所述虛擬機中各進程所占用的內存容量和/或讀次數;
將占用的內存容量超過預設的第一閾值的進程確定為待掃描進程,和/或,將讀次數超過預設的第二閾值的進程確定為待掃描進程;
對所述待掃描進程所占用的內存中的各虛擬頁面進行掃描,獲取所述待掃描進程所占用的內存中的各虛擬頁面的內容;
若所述各虛擬頁面中存在相同頁面,則對所述相同頁面中的其中一個虛擬頁面之外的其他虛擬頁面在所述宿主機上對應的物理頁面進行回收,將所述相同頁面映射到所述其中一個虛擬頁面在所述宿主機上對應的物理頁面。
基于本發明的第一方面的第二種可行的實施方式,在第一方面的第三種可行的實施方式中,所述對所述待掃描進程所占用的內存中的各虛擬頁面進行掃描,獲取所述待掃描進程所占用的內存中的各虛擬頁面的內容之后,還包括:
若所述各虛擬頁面中的第一虛擬頁面與已掃描的第二虛擬頁面為相同頁面,則回收所述第一虛擬頁面在所述宿主機上對應的物理頁面,將所述第一虛擬頁面映射到所述第二虛擬頁面在所述宿主機上對應的頁面,所述第二虛擬頁面為所述宿主機上除所述虛擬機之外的其他虛擬機的虛擬頁面。
基于本發明的第一方面的第二種和第三種可行的實施方式,在第一方面的第四種可行的實施方式中,所述將所述相同頁面映射到所述其中一個虛擬頁面在所述宿主機上對應的物理頁面之后,還包括:
在所述宿主機的頁面掃描信息表中與所述其他虛擬頁面的頁框號對應的頁面掃描信息中記錄所述其他虛擬頁面在所述宿主機上對應的物理頁面被回收過的信息;
所述查詢所述各虛擬頁面的頁框號對應的頁描述符,確定所述各虛擬頁面的頁面類型之前,還包括:
根據所述各虛擬頁面的頁框號查詢頁面掃描信息表,確定所述各虛擬頁面中在所述宿主機上對應的物理頁面未被回收過的各頁面的頁框號;
所述查詢所述各虛擬頁面的頁框號對應的頁描述符,確定所述各虛擬頁面的頁面類型,包括:
查詢對應的物理頁面未被回收過的各虛擬頁面的頁框號對應的頁描述符,確定對應的物理頁面未被回收過的各虛擬頁面的頁面類型。
基于本發明的第一方面和第一方面的第一種可行的實施方式,在第一方面的第五種可行的實施方式中,所述根據所述回收策略對所述虛擬頁面進行處理之后,還包括:
統計各頁面類型對應的虛擬頁面中相同頁面的數目或者對應的物理頁面被回收過的虛擬頁面的數目;
根據各頁面類型對應的虛擬頁面中相同頁面的數目或者對應的物理頁面被回收過的虛擬頁面的數目調整各頁面類型對應的虛擬頁面的回收策略。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京航空航天大學,未經北京航空航天大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310484776.0/2.html,轉載請聲明來源鉆瓜專利網。





