[发明专利]内存释放方法及相关设备在审
申请号: | 202110031553.3 | 申请日: | 2021-01-11 |
公开(公告)号: | CN114721812A | 公开(公告)日: | 2022-07-08 |
发明(设计)人: | 李付华;周磊;王瑞顺;彭成寒;王篁;周瑞杰;陈善瑶 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 深圳市赛恩倍吉知识产权代理有限公司 44334 | 代理人: | 杨毅玲;常云敏 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 释放 方法 相关 设备 | ||
1.一种内存释放方法,应用于电子设备,其特征在于,所述电子设备包括应用程序、虚拟机,所述应用程序运行在所述虚拟机中,所述虚拟机创建有垃圾回收线程、内存释放触发器和内存释放线程,所述电子设备还包括空闲内存列表和预释放内存列表,所述空闲内存列表记录所述电子设备的空闲内存,所述方法包括:
若所述应用程序为低负载状态,所述内存释放触发器向所述垃圾回收线程发送内存释放触发信号;
所述垃圾回收线程获取多个时间点所述电子设备的堆内存使用量;
接收到所述内存释放触发信号后,所述垃圾回收线程根据所述堆内存使用量确定实际抽取内存大小;
所述垃圾回收线程根据所述实际抽取内存大小,将所述空闲内存列表中的空闲内存抽取到所述预释放内存列表;
所述内存释放线程将所述预释放内存列表中的内存释放给所述电子设备的操作系统。
2.如权利要求1所述的内存释放方法,其特征在于,所述虚拟机还创建有采样线程,所述应用程序为低负载状态包括:
所述电子设备的负载统计值和垃圾回收次数统计值都小于或等于预设阈值;
其中,所述负载统计值是所述内存释放触发器对所述电子设备多个时间点的负载数据进行统计得到的,所述负载数据是所述采样线程采集得到的;
所述垃圾回收次数统计值是所述内存释放触发器对所述电子设备的垃圾回收次数进行统计得到的,所述垃圾回收次数是所述垃圾回收线程依据预设时间间隔采集得到的。
3.如权利要求2所述的内存释放方法,其特征在于,所述负载数据包括操作系统的CPU负载数据和进程的CPU负载数据。
4.如权利要求3所述的内存释放方法,其特征在于,当下式中X的值为FALSE时,所述应用程序为低负载状态:
X=((OT)||(PT)||(G(60/I));
其中,X为应用程序的负载状态的逻辑值;
O为所述操作系统的CPU负载统计值;
P为所述进程的CPU负载统计值;
T为CPU负载阈值;
G为所述垃圾回收次数统计值;
I为所述内存释放触发器的周期。
5.如权利要求2所述的内存释放方法,其特征在于,所述对所述电子设备多个时间点的负载数据进行统计包括:
计算所述负载数据的加权平均值,将所述负载数据的加权平均值作为所述负载统计值。
6.如权利要求2所述的内存释放方法,其特征在于,所述对所述垃圾回收次数进行统计包括:
计算所述垃圾回收次数的加权平均值,将所述垃圾回收次数的加权平均值作为所述垃圾回收次数统计值。
7.如权利要求1所述的内存释放方法,其特征在于,所述垃圾回收线程根据所述堆内存使用量确定实际抽取内存大小包括:
所述垃圾回收线程根据所述堆内存使用量进行预测,得到堆内存使用量预测值;
所述垃圾回收线程根据所述堆内存使用量预测值计算可抽取内存大小;
所述垃圾回收线程根据所述可抽取内存大小确定所述实际抽取内存大小。
8.如权利要求7所述的内存释放方法,其特征在于,所述根据所述堆内存使用量进行预测包括:
计算所述堆内存使用量的加权平均值,将所述堆内存使用量的加权平均值作为所述堆内存使用量预测值。
9.如权利要求7所述的内存释放方法,其特征在于,所述可抽取内存大小根据下式计算:
Y=MAX((U-MAX(C,K)),0);
其中,Y为所述可抽取内存大小;
U为所述应用程序占用的内存大小;
C为所述堆内存使用量预测值;
K为所述虚拟机启动时设定的初始化内存大小;
MAX()表示计算最大值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110031553.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:组合齿轮单向轴承
- 下一篇:一种通用的启动充放电装置