[发明专利]内存回收方法、装置、系统和存储介质在审
申请号: | 201810151914.6 | 申请日: | 2018-02-14 |
公开(公告)号: | CN110162396A | 公开(公告)日: | 2019-08-23 |
发明(设计)人: | 刘彬彬 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京东方亿思知识产权代理有限责任公司 11258 | 代理人: | 朱琳 |
地址: | 开曼群岛*** | 国省代码: | 开曼群岛;KY |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存回收 内存容量 内存分配请求 存储介质 空闲内存 保证系统 比较系统 接收应用 内存使用 内核资源 稳定运行 回收 控制组 内存 进程 应用 | ||
1.一种内存回收方法,包括:
接收应用的内存分配请求,所述内存分配请求中包括所述应用的所需内存容量;
比较系统中的空闲内存容量和所述所需内存容量的大小;
当所述空闲内存容量小于所述所需内存容量时,基于内核资源控制组中的进程的等级,回收所述进程对应的内存。
2.根据权利要求1所述的内存回收方法,其中,所述基于内核资源控制组中的进程的等级,回收所述进程对应的内存,包括:
按照所述内核资源控制组中的进程的等级从低到高的顺序,对所述进程执行内存回收,直到回收的内存容量大于等于所述所需内存容量,或者所述内核资源控制组中的进程对应的内存均已被回收。
3.根据权利要求1所述的内存回收方法,其中,所述回收所述进程对应的内存,包括:
选择目标进程,所述目标进程在所述内核资源控制组中的进程中对应的内存容量最大且对应的内存未被回收,所述对应的内存包括文件映射内存和匿名映射内存;
回收所述目标进程对应的文件映射内存;
如果所述文件映射内存回收后得到的空闲内存容量小于所述所需内存容量,回收所述目标进程对应的匿名映射内存。
4.根据权利要求1所述的内存回收方法,其中,所述内核资源控制组包括多个进程分组,所述进程分组中包括缓存应用组;
当所述内核资源控制组中的进程对应的内存均已被回收,且所述系统中的空闲内存容量小于所述所需内存容量时,所述内存回收方法还包括:
确定所述内核资源控制组中等级最低的进程所在的进程分组;
选择目标进程,所述目标进程在所述等级最低的进程所在的进程分组中对应的内存容量最大;
当所述目标进程的等级低于所述缓存应用组中的进程的等级时,回收所述目标进程对应的全部内存。
5.根据权利要求1所述的内存回收方法,其中,所述基于内核资源控制组中的进程的等级,回收所述进程对应的内存,包括:
获取所述应用的相关服务,将所述相关服务对应的进程以外的进程设置为参与内存回收的进程;
基于所述内核资源控制组中的进程的等级,对所述参与内存回收的进程对应的内存进行回收。
6.根据权利要求1所述的内存回收方法,其中,
所述内核资源控制组包括多个进程分组,所述多个进程分组包括如下项中的一项或多项:前台应用组、缓存应用组、本地基础服务组、容器组、绑定服务组和解绑服务组;
所述内核资源控制组中的进程被配置为依据所述进程对应的服务的类型,加入所述级别控制值对应的进程分组。
7.根据权利要求6所述的内存回收方法,其中,
所述前台应用组中的进程对应的内存被配置为不进行内存回收;
当所述应用对应的进程不是容器应用对应的进程时,所述容器组中的进程对应的内存被配置为优先进行内存回收。
8.根据权利要求6所述的内存回收方法,其中,
所述每个进程分组中的进程包括对应的级别控制值,所述级别控制值用于标识所述对应进程的等级,所述级别控制值越大,所述级别控制值对应的进程的等级越低;
所述内核资源控制组中的进程还被配置为依据所述进程的级别控制值,加入所述级别控制值对应的进程分组。
9.一种内存回收装置,包括:
内存请求接收模块,用于接收应用的内存分配请求,所述内存分配请求中包括所述应用的所需内存容量;
内存比较模块,用于比较系统中的空闲内存容量和所述所需内存容量的大小;
组回收模块,用于当所述空闲内存容量小于所述所需内存容量时,基于内核资源控制组中的进程的等级,回收所述进程对应的内存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810151914.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种内存分配的方法及装置
- 下一篇:资源分配方法、装置及系统