[发明专利]基于页面分类的内存页面回收方法及系统有效
申请号: | 201710024148.2 | 申请日: | 2017-01-13 |
公开(公告)号: | CN106843756B | 公开(公告)日: | 2019-12-31 |
发明(设计)人: | 郝志宇;徐晶;崔磊;彭亚琼 | 申请(专利权)人: | 中国科学院信息工程研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F12/02 |
代理公司: | 11200 北京君尚知识产权代理有限公司 | 代理人: | 余功勋 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 页面 分类 内存 回收 方法 系统 | ||
1.一种基于页面分类的内存页面回收方法,其步骤包括:
1)定时循环扫描主机中所有内存页面所对应的“struct page”结构,并根据该“structpage”结构分析内存页面在主机中的页面类型;
2)当内存页面在主机中的页面类型为匿名页面时根据主机内核提供的逆向映射关系判断内存页面是否属于客户机进程,采用自省方法求出属于客户机进程的内存页面在客户机中的“struct page”结构,将客户机中“struct page”结构的GVA转换为HPA,并根据该“struct page”结构中各个成员的状态分析内存页面在客户机中的页面类型,包括客户机空闲页面、客户机不活跃文件缓存页面、客户机活跃文件缓存页面、客户机不活跃匿名页面、客户机活跃匿名页面;
3)根据上述页面分类信息将所有页面链接到相应类型的链表上;
4)读取每种类型页面的数量,按照客户机页面分类的回收顺序模型确定当前时刻的回收策略,并根据该回收策略回收内存页面;所述客户机页面分类的回收顺序模型是指以不活跃页面优先于活跃页面、文件缓存页面优先于匿名页面为原则所确立的页面回收顺序,即按照如下的顺序来对内存页面进行回收:客户机空闲页面>=主机不活跃文件缓存页面>=客户机不活跃文件缓存页面>=主机不活跃匿名页面>=客户机不活跃匿名页面>=主机活跃文件缓存页面>=客户机活跃文件缓存页面>=主机活跃匿名页面>=客户机活跃匿名页面。
2.如权利要求1所述的方法,其特征在于,在步骤1)之后还包括:根据步骤1)中的“struct page”结构中的mapping成员的值的最低比特位是否置位来判断当前内存页面在主机中是否属于匿名页面,若置位则属于匿名页面。
3.如权利要求1所述的方法,其特征在于,步骤2)所述将客户机中“struct page”结构的GVA转换为HPA,其转换步骤为:
a)利用公式GPAstruct page=GFN*sizeof(struct page)+gva_to_gpa(VMEMMAP),将GVA转换为GPA;
b)利用KVM以及主机的页表所提供的信息将GPA转化为HPA。
4.如权利要求1所述的方法,其特征在于,当一个正在执行的进程向主机系统申请内存而该主机系统中的空闲内存小于阈值时,主机系统回收内存页面,其中阈值的大小由确定。
5.如权利要求4所述的方法,其特征在于,根据内存页面被访问的频率将主机系统中所有被使用的内存页面分为活跃页面集合和不活跃页面集合,当主机系统执行内存页面回收时,其步骤包括:
a)将内存页面从活跃页面集合转移到不活跃页面集合中;
b)从不活跃页面集合中选择最不活跃页面进行回收。
6.如权利要求5所述的方法,其特征在于,步骤a)中所述将内存页面从活跃页面集合转移到不活跃页面集合中的方法步骤包括:
1)选定所有属于活跃页面集合中的页面,并重新检查活跃页面集合中每个页面在客户机中的页面类型;
2)按照客户机空闲页面>=客户机不活跃文件缓存页面>=客户机活跃文件缓存页面>=客户机不活跃匿名页面>=客户机活跃匿名页面>=主机活跃文件缓存页面>=主机活跃匿名页面的优先级顺序从活跃页面集合中对应的虚拟LRU链表中选择一定数量的页面并将其放入相应类型的不活跃页面集合中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院信息工程研究所,未经中国科学院信息工程研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710024148.2/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种回转支承自动夹持设备
- 下一篇:一种多线切割机载料台