[发明专利]内存预留方法及装置有效
申请号: | 201611035635.0 | 申请日: | 2016-11-22 |
公开(公告)号: | CN106708752B | 公开(公告)日: | 2019-09-13 |
发明(设计)人: | 郭峰;向和礼 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | G06F12/1027 | 分类号: | G06F12/1027;G06F9/50 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙) 11371 | 代理人: | 邓超 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存块 物理地址 内存 预留 排序 应用程序启动 大小关系 内存碎片 虚拟地址 应用程序 有效减少 释放 减小 申请 合并 记录 | ||
1.一种内存预留方法,其特征在于,所述方法包括:
在应用程序启动之前,获取用于预留给应用程序的多个内存块的物理地址,将所述多个内存块按照其对应的物理地址的大小关系进行排序;
将排序后的所述多个内存块按照其对应的物理地址从大到小的顺序逐一释放;
将释放后的所述多个内存块逐一重新申请,并记录重新申请后的所述多个内存块的物理地址与虚拟地址的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述获取用于预留给应用程序的多个内存块的物理地址的方式,包括:
根据预设配置信息获取需要预留给应用程序的内存块的预设数量以及每个内存块的预设大小;
根据所述内存块的预设数量及内存块的预设大小进行内存块申请,获取申请到的多个内存块的物理地址。
3.根据权利要求1或2所述的方法,其特征在于,所述内存块为按照大页hugepage机制申请的物理内存块。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
遍历记录有所述多个内存块的物理地址与对应虚拟地址的内存块信息表,将所述多个内存块中所述物理地址与对应虚拟地址均连续的内存块合并为新的内存块,在所述内存块信息表中记录合并后的新的内存块的物理地址及虚拟地址。
5.根据权利要求4所述的方法,其特征在于,所述将所述物理地址与对应虚拟地址均连续的内存块合并为新的内存块,记录合并后的新的内存块的物理地址及虚拟地址的步骤之后,所述方法还包括:
将所述内存块信息表中的内存块的信息发送给系统的内存管理单元,进行应用程序对所述内存块的调用。
6.一种内存预留装置,其特征在于,所述装置包括:
内存块排序模块,用于在应用程序启动之前,获取用于预留给应用程序的多个内存块的物理地址,将所述多个内存块按照其对应的物理地址的大小关系进行排序;
内存块释放模块,用于将排序后的所述多个内存块按照其对应的物理地址从大到小的顺序逐一释放;
内存块重申请模块,用于将释放后的所述多个内存块逐一重新申请,并记录重新申请后的所述多个内存块的物理地址与虚拟地址的对应关系。
7.根据权利要求6所述的装置,其特征在于,所述内存块排序模块获取用于预留给应用程序的多个内存块的物理地址的方式,包括:
根据预设配置信息获取需要预留给应用程序的内存块的数量以及每个内存块的大小;
根据所述内存块的数量及内存块的大小进行内存块申请,获取申请到的多个内存块的物理地址。
8.根据权利要求6或7所述的装置,其特征在于,所述内存块为按照大页hugepage机制申请的物理内存块。
9.根据权利要求6或7所述的装置,其特征在于,所述装置还包括:
内存块合并模块,用于遍历记录有所述多个内存块的物理地址与对应虚拟地址的内存块信息表,将所述多个内存块中所述物理地址与对应虚拟地址均连续的内存块合并为新的内存块,在所述内存块信息表中记录合并后的新的内存块的物理地址及虚拟地址。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
内存块信息发送模块,用于将所述内存块信息表中的内存块的信息发送给系统的内存管理单元,进行应用程序对所述内存块的调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611035635.0/1.html,转载请声明来源钻瓜专利网。