[发明专利]内存使用方法和装置有效
申请号: | 201910579175.5 | 申请日: | 2019-06-28 |
公开(公告)号: | CN110287030B | 公开(公告)日: | 2021-08-20 |
发明(设计)人: | 何晓明;刘硕;李峰;宋炳雨;许晓梦 | 申请(专利权)人: | 潍柴动力股份有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 宋兴;刘芳 |
地址: | 261061 山东省潍坊*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 内存 使用方法 装置 | ||
1.一种内存使用方法,其特征在于,包括:
获取处理单元被分配的内存的总地址范围;
获取代码编译时编译文件对应的各子地址范围;
在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址;
以所述处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典;
将所述目标地址对应的数值从第一数值更新为第二数值;
统计所述第二数值的数目,所述第二数值的数目为所述目标地址的数目;
根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率;
根据所述使用率使用所述内存中未被使用的内存。
2.根据权利要求1所述的方法,其特征在于,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址,包括:
以所述编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值和终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典;
根据所述第二字典,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址。
3.根据权利要求1或2所述的方法,其特征在于,所述获取处理单元被分配的内存的总地址范围,包括:
从链接文件中获取所述处理单元被分配的内存的总地址范围。
4.一种内存使用的装置,包括获取模块、处理模块和应用模块,其特征在于,所述获取模块,用于获取处理单元被分配的内存的总地址范围;
获取代码编译时编译文件对应的各子地址范围;
所述处理模块用于根据总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率;
所述应用模块用于根据所述使用率使用所述内存中未被使用的内存;
所述处理模块具体用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址;
根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率;
所述处理模块还用于:
以所述处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典;
将所述目标地址对应的数值从第一数值更新为第二数值;
统计所述第二数值的数目,所述第二数值的数目为所述目标地址的数目。
5.根据权利要求4所述的装置,其特征在于,所述处理模块用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址,包括:
所述处理模块具体用于以所述编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值和终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典;
根据所述第二字典,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址。
6.根据权利要求4或5所述的装置,其特征在于,所述获取模块用于获取处理单元被分配的内存的总地址范围,包括:
所述处理模块具体用于从链接文件中获取所述处理单元被分配的内存的总地址范围。
7.一种电子设备,包括处理器和存储器,其特征在于,所述存储器中存储有指令,所述处理器用于调用所述指令,执行权利要求1-3任一项所述的方法。
8.一种计算机可读存储介质,包括程序或指令,其特征在于,当所述程序或指令在计算机上运行时,权利要求1-3任一所述的方法被执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于潍柴动力股份有限公司,未经潍柴动力股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910579175.5/1.html,转载请声明来源钻瓜专利网。