[发明专利]内存回收方法和装置有效
申请号: | 201310484776.0 | 申请日: | 2013-10-16 |
公开(公告)号: | CN103593298A | 公开(公告)日: | 2014-02-19 |
发明(设计)人: | 李建欣;沙晟阳;崔磊;李楠;郑京生 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/455 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 刘芳 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 回收 方法 装置 | ||
技术领域
本发明涉及一种计算机技术,尤其涉及一种内存回收方法和装置。
背景技术
现有技术中,主要通过相同页面合并机制实现对宿主机上虚拟机内存的回收。相同页面合并机制的基本原理是扫描虚拟机的所有虚拟页面,在上述虚拟页面中查找相同页面,针对相同页面进行合并,即针对相同页面在宿主机上只保留一份拷贝,相同页面指的是内容完全相同的多个虚拟页面。
然而现有技术中,相同页面合并机制对虚拟机的所有虚拟页面都需要进行扫描,降低了扫描效率,降低了内存页面的合并效率,从而降低了宿主机上内存的回收效率。
发明内容
本发明提供一种内存回收方法和装置,用于解决现有技术中内存回收效率低的问题。
本发明的第一方面是提供一种内存回收方法,包括:
获取虚拟机的内存信息,所述内存信息包括:虚拟机的内存容量,虚拟机的内存中起始虚拟页面的页框号和终止虚拟页面的页框号;
根据所述内存信息确定所述虚拟机的内存中各虚拟页面的页框号;
查询所述各虚拟页面的页框号对应的页描述符,确定所述各虚拟页面的页面类型;
若虚拟页面的页面类型为空闲页面,则确定所述虚拟页面对应的回收策略为回收所述虚拟页面在所述虚拟机所在的宿主机上对应的物理页面,将所述虚拟页面映射到所述宿主机上的零页面;
根据所述回收策略对所述虚拟页面进行处理。
基于本发明的第一方面,在第一方面的第一种可行的实施方式中,所述查询所述各虚拟页面的页框号对应的页描述符,确定所述各虚拟页面的页面类型之后,还包括:若虚拟页面的页面类型为索引节点页面或大块页面,则确定所述虚拟页面对应的回收策略为不对所述虚拟页面进行处理。
基于本发明的第一方面,在第一方面的第二种可行的实施方式中,所述根据所述内存信息确定所述虚拟机的内存中各虚拟页面的页框号之前,还包括:
依次获取所述虚拟机中各进程所占用的内存容量和/或读次数;
将占用的内存容量超过预设的第一阈值的进程确定为待扫描进程,和/或,将读次数超过预设的第二阈值的进程确定为待扫描进程;
对所述待扫描进程所占用的内存中的各虚拟页面进行扫描,获取所述待扫描进程所占用的内存中的各虚拟页面的内容;
若所述各虚拟页面中存在相同页面,则对所述相同页面中的其中一个虚拟页面之外的其他虚拟页面在所述宿主机上对应的物理页面进行回收,将所述相同页面映射到所述其中一个虚拟页面在所述宿主机上对应的物理页面。
基于本发明的第一方面的第二种可行的实施方式,在第一方面的第三种可行的实施方式中,所述对所述待扫描进程所占用的内存中的各虚拟页面进行扫描,获取所述待扫描进程所占用的内存中的各虚拟页面的内容之后,还包括:
若所述各虚拟页面中的第一虚拟页面与已扫描的第二虚拟页面为相同页面,则回收所述第一虚拟页面在所述宿主机上对应的物理页面,将所述第一虚拟页面映射到所述第二虚拟页面在所述宿主机上对应的页面,所述第二虚拟页面为所述宿主机上除所述虚拟机之外的其他虚拟机的虚拟页面。
基于本发明的第一方面的第二种和第三种可行的实施方式,在第一方面的第四种可行的实施方式中,所述将所述相同页面映射到所述其中一个虚拟页面在所述宿主机上对应的物理页面之后,还包括:
在所述宿主机的页面扫描信息表中与所述其他虚拟页面的页框号对应的页面扫描信息中记录所述其他虚拟页面在所述宿主机上对应的物理页面被回收过的信息;
所述查询所述各虚拟页面的页框号对应的页描述符,确定所述各虚拟页面的页面类型之前,还包括:
根据所述各虚拟页面的页框号查询页面扫描信息表,确定所述各虚拟页面中在所述宿主机上对应的物理页面未被回收过的各页面的页框号;
所述查询所述各虚拟页面的页框号对应的页描述符,确定所述各虚拟页面的页面类型,包括:
查询对应的物理页面未被回收过的各虚拟页面的页框号对应的页描述符,确定对应的物理页面未被回收过的各虚拟页面的页面类型。
基于本发明的第一方面和第一方面的第一种可行的实施方式,在第一方面的第五种可行的实施方式中,所述根据所述回收策略对所述虚拟页面进行处理之后,还包括:
统计各页面类型对应的虚拟页面中相同页面的数目或者对应的物理页面被回收过的虚拟页面的数目;
根据各页面类型对应的虚拟页面中相同页面的数目或者对应的物理页面被回收过的虚拟页面的数目调整各页面类型对应的虚拟页面的回收策略。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310484776.0/2.html,转载请声明来源钻瓜专利网。