[发明专利]提高系统内存利用率的方法有效

专利信息
申请号: 201510638512.5 申请日: 2015-09-29
公开(公告)号: CN105354079B 公开(公告)日: 2019-06-07
发明(设计)人: 李小庆 申请(专利权)人: 上海斐讯数据通信技术有限公司
主分类号: G06F9/46 分类号: G06F9/46
代理公司: 杭州千克知识产权代理有限公司 33246 代理人: 周希良
地址: 201616 *** 国省代码: 上海;31
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 提高 系统 内存 利用率 方法
【说明书】:

发明涉及系统内存领域,尤其涉及一种提高系统内存利用率的方法。一种提高系统内存利用率的方法,应用于Linux系统中,方法包括:步骤S1,缓存释放线程调用堆栈收缩函数;步骤S2,创建新进程后,在新进程的数据结构中添加一定时器,并将定时器的到期函数设置为堆栈收缩函数;步骤S3,当Linux系统的内存不足时,定时器开始计时;步骤S4,在定时器计时期间,Linux系统中的所有用户进程调用堆栈收缩函数,以释放所有用户进程堆栈中的内存;步骤S5,在定时器到期时,Linux系统的CPU执行堆栈收缩函数,以释放新进程堆栈中的内存;其中,步骤S4中的所有用户进程不包括新进程。

技术领域

本发明涉及系统内存领域,尤其涉及一种提高系统内存利用率的方法。

背景技术

堆栈是内存的一个工作区,会随着程序运行的需要而增长或缩小,随着计算机水平的不断提高,软件规模越来越庞大,函数嵌套调用的层次越来越深,导致堆栈空间的波动幅度增大。如果没有启用Linux交换技术,堆栈空间中没有使用的内存就被浪费了。很多嵌入式设备使用Linux系统,而且没有启用Linux交换技术,堆栈空间中没有使用的内存就被浪费了,系统中的进程数量较多的时候,浪费的内存就更多了。

发明内容

针对现有技术中内存利用率较低等问题,本发明提供了一种提高系统内存利用率的方法,及时释放堆栈空间中没有使用的内存,提高Linux系统内存利用率。

本发明采用如下技术方案:

一种提高系统内存利用率的方法,应用于Linux系统中,所述方法包括:

步骤S1,缓存释放线程调用堆栈收缩函数;

步骤S2,创建新进程后,在所述新进程的数据结构中添加一定时器,并将所述定时器的到期函数设置为堆栈收缩函数;

步骤S3,当所述Linux系统的内存不足时,所述定时器开始计时;

步骤S4,在所述定时器计时期间,所述Linux系统中的所有用户进程调用所述堆栈收缩函数,以释放所有所述用户进程堆栈中的内存;

步骤S5,在所述定时器到期时,所述Linux系统的CPU执行所述堆栈收缩函数,以释放所述新进程堆栈中的内存;其中,

所述步骤S4中的所述所有用户进程不包括所述新进程。

优选的,所述方法中:

所述定时器的定时时间为1-10秒。

优选的,所述步骤S1具体包括:

步骤S11,在所述堆栈收缩函数中,增加对所述所有用户线程调用所述堆栈收缩函数的代码。

优选的,所述步骤S2具体包括:

步骤S21,在Linux进程数据结构中增加堆栈时间域,Linux内核创建所述新进程时,在所述堆栈时间域上添加所述定时器。

优选的,所述步骤S2具体包括:

步骤S22:通过add timer函数添加所述定时器。

优选的,所述方法还包括:

步骤S6:于所述步骤S5之后,所述缓存释放线程运行后,对所述所有用户进程的用户态堆栈内存情况进行检查并调用所述堆栈收缩函数,以释放所述用户态堆栈内存。

优选的,所述方法还包括:

步骤S7:于所述步骤S6之后,当堆栈指针连续N次向上穿过页边界地址时,所述CPU中断并执行所述堆栈收缩函数,以释放当前运行进程堆栈的内存;其中,

所述N为预设值,同时所述N为正整数并且大于1。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510638512.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top