CN110287030B - 内存使用方法和装置 - Google Patents

内存使用方法和装置 Download PDF

Info

Publication number
CN110287030B
CN110287030B CN201910579175.5A CN201910579175A CN110287030B CN 110287030 B CN110287030 B CN 110287030B CN 201910579175 A CN201910579175 A CN 201910579175A CN 110287030 B CN110287030 B CN 110287030B
Authority
CN
China
Prior art keywords
address range
memory
address
processing unit
sub
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910579175.5A
Other languages
English (en)
Other versions
CN110287030A (zh
Inventor
何晓明
刘硕
李峰
宋炳雨
许晓梦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Weichai Power Co Ltd
Original Assignee
Weichai Power Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Weichai Power Co Ltd filed Critical Weichai Power Co Ltd
Priority to CN201910579175.5A priority Critical patent/CN110287030B/zh
Publication of CN110287030A publication Critical patent/CN110287030A/zh
Application granted granted Critical
Publication of CN110287030B publication Critical patent/CN110287030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

本申请实施例提供一种内存使用方法和装置,该方法包括:获取处理单元被分配的内存的总地址范围;获取代码编译时编译文件对应的各子地址范围;根据总地址范围和编译文件对应的各子地址范围,确定处理单元对内存的使用率;根据使用率使用内存中未被使用的内存。本申请实施例得到的处理单元对内存的使用率比较准确,根据处理单元被分配的内存的使用率使用内存中未被使用的内存,还可以实现对处理单元的内存的合理分配,提高对处理单元的内存的利用率。

Description

内存使用方法和装置
技术领域
本发明实施例涉及计算机技术,尤其涉及一种内存使用方法和装置。
背景技术
随着计算机领域的快速发展,数据存储在该领域占据的作用越来越大。对于芯片储存资源的有效利用受到广泛的关注。
目前统计芯片内存资源使用率的方法主要是从编译产生的编译文件中读取使用的芯片内存资源的最后一个地址,减去芯片内存资源的首地址,得到已经使用的芯片内存资源,根据已经使用的芯片内存资源和未使用的芯片内存资源得到芯片内存资源使用率。
而编译器在编译时变量在内存中的地址通常需要与它的字节长度对齐,因此,不同字节长度的变量交错定义可能会导致编译器为变量分配的地址不连续,因此,上述方法获取芯片内存资源使用率的方法并不准确。
发明内容
本申请实施例提供一种内存使用方法和装置,可以得到准确的芯片内存资源使用率。
第一方面,本申请实施例提供一种内存使用方法,所述方法包括:获取处理单元被分配的内存的总地址范围;获取代码编译时编译文件对应的各子地址范围;根据所述处理单元被分配的内存的总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率;根据所述使用率使用所述内存中未被使用的内存。
本方案中,根据处理单元被分配的内存的总地址范围和编译文件对应的各子地址范围,确定处理单元对所述内存的使用率,得到的处理单元对内存的使用率较准确,根据处理单元被分配的内存的使用率使用内存中未被使用的内存,还可以实现对处理单元的内存的合理分配,提高对处理单元的内存的利用率。
结合第一方面,在第一方面的一种可能的实现方式中,所述根据所述总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率,包括:在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址;根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率。
本方案可以获取较为准确的处理单元对内存的使用率。
结合第一方面,在第一方面的一种可能的实现方式中,在所述根据所述标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率之前,包括:以所述处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典;将所述目标地址对应的数值从第一数值更新为第二数值;统计所述第二数值的数目,所述第二数值的数目为所述目标地址的数目。
本方案提供了一种统计目标地址数目的具体实现方式。
结合第一方面,在第一方面的一种可能的实现方式中,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址,包括:以所述编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值和终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典;根据所述第二字典,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址。
本方案通过构建映射数据类型,更直观的显示处理单元被分配的内存的总地址范围中被使用的内存的地址范围。
结合第一方面,在第一方面的一种可能的实现方式中,所述获取处理单元被分配的内存的总地址范围,包括:从链接文件中获取所述处理单元被分配的内存的总地址范围。
本方案提供了一种获取处理单元被分配的内存中的总地址范围的具体方式。
第二方面,本申请实施例提供一种内存使用的装置,包括获取模块、处理模块和应用模块,其特征在于,所述获取模块,用于获取处理单元被分配的内存的总地址范围;获取代码编译时编译文件对应的各子地址范围;所述处理模块用于根据总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率;所述应用模块用于根据所述使用率使用所述内存中未被使用的内存。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块用于根据所述总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率,包括:所述处理模块具体用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址;根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块在用于根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率之前,还用于:以所述处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典;将所述目标地址对应的数值从第一数值更新为第二数值;统计所述第二数值的数目,所述第二数值的数目为所述目标地址的数目。
结合第二方面,在第二方面的一种可能的实现方式中,所述处理模块用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址,包括:所述处理模块具体用于以所述编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值和终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典;根据所述第二字典,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址。
结合第二方面,在第二方面的一种可能的实现方式中,所述获取模块用于获取处理单元被分配的内存的总地址范围,包括:所述处理模块具体用于从链接文件中获取所述处理单元被分配的内存的总地址范围。
第三方面,本申请实施例提供一种电子设备,包括处理器和存储器,其特征在于,所述存储器中存储有指令,所述处理器用于调用所述指令,执行第一方面以及第一方面任一可能的实现方式所述的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,包括程序或指令,当所述程序或指令在计算机上运行时,第一方面以及第一方面任一可能的实现方式所述的方法被执行。
本申请提供的内存使用方法和装置,通过处理单元被分配的内存的总地址范围和代码编译时,编译文件对应的各子地址范围,确定处理单元对内存的使用率,根据使用率使用内存中未被使用的内存。得到的处理单元对内存的使用率比较准确,还可以实现对处理单元的内存的合理分配,提高对处理单元的内存的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的内存使用方法的流程图一;
图2为本申请实施例提供的内存使用方法的流程图二;
图3为本申请实施例提供的内存使用的装置的结构示意图;
图4为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本申请实施例提供的内存使用方法的流程图一,本实施例提供的内存使用方法可应用于内存使用装置。内存使用装置可以是计算机也可以是计算机的一部分,计算机可以是终端,比如车载终端,还可以是服务器。如图1所示,本实施例的方法可以包括:
步骤S101、获取处理单元被分配的内存的总地址范围。
其中,处理单元可以是计算机中的处理单元,比如处理单元为应用于汽车中的ECU,也可以是计算机中的其它处理单元,本申请中并不限制。
其中,处理单元被分配的内存的总地址范围包括处理单元被分配的内存中所有未使用的内存的地址范围和所有已使用的内存的地址范围。
对于处理单元被分配的内存的总地址范围的获取,在一种方式中,获取处理单元被分配的内存的总地址范围,包括:从链接文件中获取处理单元被分配的内存的总地址范围。
链接文件是指编译过程中产生的一种文件,链接文件中包含处理单元被分配的内存的总地址范围,可以从链接文件中读取处理单元被分配的内存的总地址范围。
还可以通过其他方式获取处理单元被分配的内存的总地址范围,在此,本申请不做限制。
步骤S102、获取代码编译时编译文件对应的各子地址范围。
其中,在当前处理单元的集成过程中,会向处理单元写入程序,写入程序的过程中会对代码编译,在对代码编译的过程中,生成一个或多个编译文件,例如在代码编译过程中产生的“.MAP”类型的编译文件。编译文件中包含编译文件对应的各子地址范围,编译文件对应的各子地址范围即为编译文件占用的地址的范围,因此,可以从编译文件中读取编译文件对应的各子地址范围。
可以理解的是,编译文件所对应的各子地址范围所包括的地址为处理单元被分配的内存的总地址范围中的地址。编译文件所对应的各子地址范围所包括的地址为处理单元被分配的内存中被使用的地址。
其中,编译文件对应的的各子地址范围可以为编译文件中的各对象对应的各地址范围。对象对应的各地址范围为该对象占用的地址的范围。其中,对象包括但不限于变量、函数。
步骤S103、根据总地址范围和编译文件对应的各子地址范围,确定处理单元对为处理单元分配的内存的使用率。
为了后续表述的方便,将“处理单元对为处理单元分配的内存的使用率”,表述为“处理单元对内存的使用率”
如步骤S102所述,编译文件所对应的各子地址范围所包括的地址为处理单元被分配的内存中被使用的地址,因此,根据编译文件所对应的各子地址范围和处理单元被分配内存的总地址范围,可确定当前处理单元集成过程所对应的处理单元对内存的使用率。
本领域技术人员应当明白,当前处理单元集成过程所对应的处理单元对内存的使用率与之前处理单元集成过程所对应的处理单元对内存的使用率之和为处理单元对内存的总使用率。
步骤S104、根据处理单元对内存的使用率使用处理单元被分配的内存中未被使用的内存。
根据处理单元被分配的内存的使用率可以确定处理单元中被分配的内存中具体有多少内存已被使用以及还有多少内存可以使用,在后续过程中,处理单元可以使用处理单元被分配的内存中未使用的内存。
示例性的,处理单元为ECU,在ECU集成时,假设ECU的内存使用率为30%,可以确定ECU被分配的内存中还有70%的内存未被使用,在对ECU芯片进行再次集成时,可以根据ECU被分配的内存中70%未被使用的内存,进行内存的分配。
本实施例中通过处理单元被分配的内存的总地址范围和编译文件对应的各子地址范围,确定处理单元被分配的内存的使用率,由于编译文件对应的各子地址范围为编译文件中的各对象对应的各地址范围,没有包括未被使用的地址,因此,本实施例确定的处理单元对内存的使用率比较准确。根据处理单元被分配的内存的使用率使用内存中未被使用的内存,还可以实现对处理单元的内存的合理分配,提高对处理单元的内存的利用率。
下面采用几个具体的实施例,说明上一实施例中的内存使用率的具体确定方法。
图2为本申请实施例提供的内存使用方法的流程图二,本实施例的方法可以包括:
步骤S201、在总地址范围包括的各个地址中,确定包含于编译文件对应的子地址范围的目标地址。
其中,将处理单元被分配的内存的总地址范围中各个地址与编译文件对应的子地址范围做比对,若处理单元被分配的内存的某一个地址处于编译文件对应的子地址范围内,则可以确定此地址为处理单元被分配的内存中被使用的地址,即目标地址。
在一种实现方式中,在总地址范围包括的各个地址中,确定包含于编译文件对应的子地址范围的目标地址,包括:
a1、以编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值,以子地址范围对应的终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典。
即第二字典的构造如下:将编译文件对应的各子地址范围的标识作为第二关键值,即键(key)值。对于编译文件对应的各子地址范围中的任意一个第一子地址范围,将第一子地址范围对应的起始地址作为第一子地址范围对应的第二关键值的第一数值(即第一value值),将第一子地址范围对应的终止地址作为第一子地址范围对应的第二关键值的第二数值(即第二value值),得到第二字典。其中,子地址范围对应的第二关键值即为该子地址范围的标识。
其中,字典是一种映射数据类型,工作原理类似哈希表,由键-值(key-value)对构成。该字典也可以是其他的映射数据类型,在此,本申请中不做限制。
a2、根据第二字典,在总地址范围包括的各个地址中,确定包含于编译文件对应的子地址范围的目标地址。
根据第二字典中的各第二关键值的数值和总地址范围包括的各个地址,确定包含于编译文件对应的子地址范围的目标地址。即若某一总地址范围包括的第一地址为某一第二关键值的两个数值或该两个数值之间的地址,则第一地址即为目标地址。
示例性的,处理单元被分配的内存的总地址范围为地址1~地址20,编译文件对应的各子地址范围为地址1~地址3,地址5~地址8,将处理单元被分配的内存的总地址范围包括的各个地址与编译文件对应的各子地址范围做比对,可以确定,处理单元被分配的内存的总地址范围中的地址1、地址2、地址3、地址5、地址6、地址7、地址8处于编译文件对应的子地址范围内,因此目标地址为地址1、地址2、地址3、地址5、地址6、地址7、地址8。
步骤S202、根据目标地址的数目和处理单元被分配的内存的总地址范围包括的地址的数目,确定处理单元对内存的使用率。
由于在当前处理单元的集成过程中所对应的处理单元对内存的使用率=当前处理单元的集成过程,编译文件所使用的地址的数目/处理单元被分配的内存对应的总地址的数目。目标地址的数目即当前处理单元的集成过程,编译文件所使用的地址的数目,处理单元被分配的内存的总地址范围包括的地址的数目即处理单元被分配的内存对应的总地址的数目,因此根据目标地址的数目和总地址范围包括的地址的数目,可以得到当前处理单元的集成过程中处理单元对内存的使用率。
可以理解的是,根据目标地址的数目和总地址范围包括的地址的数目,确定处理单元对内存的使用率之前,还包括:确定目标地址的数目。
下面对确定目标地址的数目的一种实现方式进行说明。
确定目标地址的数目,包括:
b1、以处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典。
可选地,第一数值可为0。
以上述键-值对构成的字典为例,以处理单元被分配的内存的各个地址作为第一关键值,即键(key)值,将各个第一关键值对应的数值(value)值置为第一数值,以构建第一字典。
示例性的,处理单元被分配的内存的总地址范围为地址1~地址25,将这25个地址作为键值,可以将键值对应的第一数值置为0,以构建第一字典。
b2、将目标地址对应的数值从第一数值更新为第二数值。
可选地,第二数值可为1。
示例性的,处理单元被分配的内存的总地址范围为地址1~地址25,目标地址为地址1、地址2、地址5、地址6,将字典1中这4个目标地址对应的第一数值0更新为第二数值1。
b3、统计第二数值的数目,第二数值的数目为目标地址的数目。
在确定目标地址的数目之后,可根据目标地址的数目和总地址范围包括的地址的数目,确定处理单元对内存的使用率。
示例性的,统计第一字典中第二数值的数目,在第二数值为1时,统计第一字典中1的数目,第一字典中第二数值1的数目为目标地址的数目。
本实施例在处理单元被分配的内存的总地址范围包括的各个地址中,确定包含于编译文件对应的子地址范围的目标地址,根据目标地址的数目和总地址范围包括的地址数目,确定处理单元对内存的使用率,使得确定的处理单元对内存的使用率比较准确,且方法简单,易于实现。
以上对本申请实施例提供的内存使用方法进行了说明,下面采用具体地实施例对本申请实施例提供的装置进行说明。
图3为本申请实施例提供的内存使用的装置的结构示意图。如图3所示,本实施例的装置可以包括:获取模块31、处理模块32和应用模块33。
所述获取模块31,用于获取处理单元被分配的内存的总地址范围;获取代码编译时编译文件对应的各子地址范围;所述处理模块32用于根据总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率;所述应用模块33用于根据所述使用率使用所述内存中未被使用的内存。
可选地,作为一个实施例,所述处理模块32用于根据所述总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率,包括:所述处理模块具体用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址;根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率。
可选地,作为一个实施例,所述处理模块32在用于根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率之前,还用于:以所述处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典;将所述目标地址对应的数值从第一数值更新为第二数值;统计所述第二数值的数目,所述第二数值的数目为所述目标地址的数目。
可选地,作为一个实施例,所述处理模块32用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址,包括:所述处理模块具体用于以所述编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值和终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典;根据所述第二字典,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址。
可选地,作为一个实施例,所述获取模块32用于获取处理单元被分配的内存的总地址范围,包括:所述处理模块具体用于从链接文件中获取所述处理单元被分配的内存的总地址范围。
图4为本申请实施例提供的电子设备40的结构示意图,如图4所示,本实施例的电子设备,包括处理器41和存储器42,存储器42中存储有指令,处理器41用于调用指令,控制执行上述实施例中任一实施例所述的方法。
处理器41的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上的内存使用方法。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种内存使用方法,其特征在于,包括:
获取处理单元被分配的内存的总地址范围;
获取代码编译时编译文件对应的各子地址范围;
在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址;
以所述处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典;
将所述目标地址对应的数值从第一数值更新为第二数值;
统计所述第二数值的数目,所述第二数值的数目为所述目标地址的数目;
根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率;
根据所述使用率使用所述内存中未被使用的内存。
2.根据权利要求1所述的方法,其特征在于,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址,包括:
以所述编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值和终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典;
根据所述第二字典,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址。
3.根据权利要求1或2所述的方法,其特征在于,所述获取处理单元被分配的内存的总地址范围,包括:
从链接文件中获取所述处理单元被分配的内存的总地址范围。
4.一种内存使用的装置,包括获取模块、处理模块和应用模块,其特征在于,所述获取模块,用于获取处理单元被分配的内存的总地址范围;
获取代码编译时编译文件对应的各子地址范围;
所述处理模块用于根据总地址范围和所述编译文件对应的各子地址范围,确定所述处理单元对所述内存的使用率;
所述应用模块用于根据所述使用率使用所述内存中未被使用的内存;
所述处理模块具体用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址;
根据所述目标地址的数目和所述总地址范围包括的地址的数目,确定所述处理单元对所述内存的使用率;
所述处理模块还用于:
以所述处理单元被分配的内存的各个地址作为各个第一关键值,并将所述各个第一关键值对应的数值置为第一数值,以构造第一字典;
将所述目标地址对应的数值从第一数值更新为第二数值;
统计所述第二数值的数目,所述第二数值的数目为所述目标地址的数目。
5.根据权利要求4所述的装置,其特征在于,所述处理模块用于在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址,包括:
所述处理模块具体用于以所述编译文件对应的各个子地址范围的标识作为各个第二关键值,以子地址范围对应的起始地址作为该子地址范围对应的第二关键值的第一数值和终止地址作为该子地址范围对应的第二关键值的第二数值,以构造第二字典;
根据所述第二字典,在所述总地址范围包括的各个地址中,确定包含于所述编译文件对应的子地址范围的目标地址。
6.根据权利要求4或5所述的装置,其特征在于,所述获取模块用于获取处理单元被分配的内存的总地址范围,包括:
所述处理模块具体用于从链接文件中获取所述处理单元被分配的内存的总地址范围。
7.一种电子设备,包括处理器和存储器,其特征在于,所述存储器中存储有指令,所述处理器用于调用所述指令,执行权利要求1-3任一项所述的方法。
8.一种计算机可读存储介质,包括程序或指令,其特征在于,当所述程序或指令在计算机上运行时,权利要求1-3任一所述的方法被执行。
CN201910579175.5A 2019-06-28 2019-06-28 内存使用方法和装置 Active CN110287030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910579175.5A CN110287030B (zh) 2019-06-28 2019-06-28 内存使用方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910579175.5A CN110287030B (zh) 2019-06-28 2019-06-28 内存使用方法和装置

Publications (2)

Publication Number Publication Date
CN110287030A CN110287030A (zh) 2019-09-27
CN110287030B true CN110287030B (zh) 2021-08-20

Family

ID=68019766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910579175.5A Active CN110287030B (zh) 2019-06-28 2019-06-28 内存使用方法和装置

Country Status (1)

Country Link
CN (1) CN110287030B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063363A (zh) * 2010-01-26 2011-05-18 深圳市同洲电子股份有限公司 一种内存占用情况统计装置及内存占用情况统计方法
CN102734896A (zh) * 2012-07-06 2012-10-17 青岛海尔空调电子有限公司 一种多联机空调***运行环境监控方法和装置
CN102831069A (zh) * 2012-06-30 2012-12-19 华为技术有限公司 内存处理方法、内存管理设备
CN106469118A (zh) * 2015-08-19 2017-03-01 深圳市博巨兴实业发展有限公司 一种存储器内存分配访问方法及装置
CN108319504A (zh) * 2018-03-19 2018-07-24 武汉斗鱼网络科技有限公司 内存占用优化方法、装置及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200828014A (en) * 2006-12-28 2008-07-01 Genesys Logic Inc Flash memory management method with low RAM utilization
CN107015914B (zh) * 2016-01-28 2020-12-22 长城汽车股份有限公司 数据标定方法及***
CN109710396B (zh) * 2017-10-26 2023-08-22 华为技术有限公司 一种信息采集及内存释放的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063363A (zh) * 2010-01-26 2011-05-18 深圳市同洲电子股份有限公司 一种内存占用情况统计装置及内存占用情况统计方法
CN102831069A (zh) * 2012-06-30 2012-12-19 华为技术有限公司 内存处理方法、内存管理设备
CN102734896A (zh) * 2012-07-06 2012-10-17 青岛海尔空调电子有限公司 一种多联机空调***运行环境监控方法和装置
CN106469118A (zh) * 2015-08-19 2017-03-01 深圳市博巨兴实业发展有限公司 一种存储器内存分配访问方法及装置
CN108319504A (zh) * 2018-03-19 2018-07-24 武汉斗鱼网络科技有限公司 内存占用优化方法、装置及可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
嵌入式linux内存管理设计与实现;李江雄;《中国优秀硕士学位论文全文数据库 信息科技辑》;20100515;全文 *
嵌入式***内存自动化统计方法研究;颜丽;《萍乡学院学报》;20181231(第6期);全文 *

Also Published As

Publication number Publication date
CN110287030A (zh) 2019-09-27

Similar Documents

Publication Publication Date Title
CN108874298B (zh) 一种数据存储的方法及装置
CN104424030B (zh) 多进程操作共享内存的方法和装置
US20190087208A1 (en) Method and apparatus for loading elf file of linux system in windows system
CN111026663B (zh) 一种软件缺陷检测方法、装置、计算机设备和存储介质
CN116680015B (zh) 函数调用方法、装置、电子设备及可读存储介质
CN113504918A (zh) 设备树配置优化方法、装置、计算机设备和存储介质
CN110377276B (zh) 源代码文件管理方法及设备
CN116700629B (zh) 数据处理方法和装置
CN116680014B (zh) 数据处理方法和装置
CN110287030B (zh) 内存使用方法和装置
CN114639437B (zh) 存储器的测试方法、装置、设备及存储介质
CN107291439B (zh) 一种目标增量数据构建方法及装置
KR100640389B1 (ko) Nand플래시 메모리를 구비한 장치에서 어플리케이션을실행하는 방법 및 그 장치
CN111625254B (zh) 文件处理方法、装置、终端及存储介质
CN109408547B (zh) 一种sam注册表的读取方法、读取***及相关装置
CN107704247B (zh) 一种减小多核固件大小的方法
CN106815136B (zh) 单元测试方法及装置
CN116755845B (zh) 数据处理方法和装置
CN116700840B (zh) 文件执行方法、装置、电子设备及可读存储介质
CN111158701B (zh) 库模块发布方法、装置、设备及存储介质
CN117251234B (zh) 基于补丁的函数调用方法及装置
JP5708228B2 (ja) Icカード及びicカードのリフレッシュ方法
CN117270760A (zh) 序列映射生成方法、装置、存储主控芯片及存储介质
CN116700841B (zh) 一种原生api调用的方法及装置
CN117785728A (zh) 数据处理方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant