CN111562986B - 内存分配方法、装置、电子设备和计算机可读存储介质 - Google Patents

内存分配方法、装置、电子设备和计算机可读存储介质 Download PDF

Info

Publication number
CN111562986B
CN111562986B CN202010390798.0A CN202010390798A CN111562986B CN 111562986 B CN111562986 B CN 111562986B CN 202010390798 A CN202010390798 A CN 202010390798A CN 111562986 B CN111562986 B CN 111562986B
Authority
CN
China
Prior art keywords
memory
application
size
embedded system
preset
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
CN202010390798.0A
Other languages
English (en)
Other versions
CN111562986A (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.)
Shanghai Sugar Technology Co ltd
Original Assignee
Shanghai Sugar Technology 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 Shanghai Sugar Technology Co ltd filed Critical Shanghai Sugar Technology Co ltd
Priority to CN202010390798.0A priority Critical patent/CN111562986B/zh
Publication of CN111562986A publication Critical patent/CN111562986A/zh
Application granted granted Critical
Publication of CN111562986B publication Critical patent/CN111562986B/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5013Request control
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本发明涉及于嵌入式系统技术领域,具体涉及一种基于嵌入式系统的内存分配方法、内存分配装置、电子设备和计算机存储介质,包括:根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。可见,该基于嵌入式系统的内存分配方法、内存分配装置、电子设备和计算机存储介质,解决了嵌入式系统在使用过程中存在内存浪费的问题,提高了内存使用效率,降低了成本。

Description

内存分配方法、装置、电子设备和计算机可读存储介质
技术领域
本发明涉及嵌入式系统技术领域,具体涉及一种基于嵌入式系统的内存分配方法、内存分配装置、电子设备和计算机可读存储介质。
背景技术
在嵌入式系统中,内存一直都是比较紧张的资源。在现在的复杂嵌入式设备中,随着业务的复杂度越来越高,对内存的需求也越来越多样化。而作为使用者,存在使用偏好的问题,也就是说用户一般只使用嵌入式设备中的某些业务功能,所以导致传统的内存使用存在一定的浪费。为了解决内存使用浪费的问题,在现有的内存分配方案中,一般有两种解决方式:
1、所有的内存作为一个区域整体进行操作,当需要分配内存时,就在整个区域中进行查找,找到一个合适的区域并予以使用。该方案有如下的缺点:搜索时间比较长、算法复杂;即为了寻找到合适的内存块,可能需要查找整个内存空间,且查找匹配的算法也会复杂化。还有一个缺点的是会造成内存分配的碎片,导致内存虽然还有大的内存量,但由于都是小块的内存,导致无法满足相对较大的内存申请需求。
2、对内存进行预先分区处理。该方法是为了解决方法1中的缺陷而设计的。其原理是将内存按照固定的大小分配成若干块,在内存进行申请的时候直接进行匹配,从适合的最小内存块中进行分配。如此匹配算法简单,且不会产生内存碎片。
当然,之后还出现过一些变种的内存分配方式,但是所有的分配方式都是指定内存块的,即分配的内存块的块数不会根据使用的过程而对初始分配的内存块进行智能化的调整。
发明内容
为克服现有技术存在的上述不足,本发明提供一种基于嵌入式系统的内存分配方法、内存分配装置、电子设备和计算机可读存储介质,解决了嵌入式系统在使用过程中存在内存浪费的问题,提高了内存使用效率,降低了成本。
为达此目的,本发明采用以下技术方案:
第一方面,提供一种基于嵌入式系统的内存分配方法包括:
根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;
记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;
根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。
优选的,所述预设周期为所述嵌入式系统从启动到停止的过程。
优选的,所述申请内存大小为申请的内存块对应的内存大小,所述初始内存大小为初始的内存块对应的内存大小;其中,所述内存块的内存大小为固定值。
优选的,所述获得所述内存申请请求对应的申请内存大小,包括:
在一个预设周期内,若接收到所述内存申请请求,则将与所述内存申请请求对应的内存块的块数递增,以获得递增后的内存块块数;
所述记录所述申请内存大小,包括:
当递增后的所述内存块块数大于初始分配的内存块块数,则更新初始分配的内存块的块数;
在所述一个预设周期结束时,记录最后得到的初始分配的内存块块数。
优选的,所述记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析,包括:
记录所述申请内存大小的峰值,当记录的所述峰值的个数累积达到预设个数时,按照预设加权分析方法对累积的所述峰值进行加权分析。
优选的,所述预设加权分析方法为根据出现所述峰值的时间和所述峰值保持的时长进行加权分析。
第二方面,提供一种基于嵌入式系统的内存分配装置,包括:
获得单元,用于根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;
分析单元,用于记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;
分配单元,用于根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。
优选的,所述预设周期为所述嵌入式系统从启动到停止的过程;
所述申请内存大小为申请的内存块对应的内存大小,所述初始内存大小为初始的内存块对应的内存大小;其中,所述内存块的内存大小为固定值;
所述获得所述内存申请请求对应的申请内存大小,包括:
在一个预设周期内,若接收到所述内存申请请求,则将与所述内存申请请求对应的内存块的块数递增,以获得递增后的内存块块数;
所述记录所述申请内存大小,包括:
当递增后的所述内存块块数大于初始分配的内存块块数,则更新初始分配的内存块的块数;
在所述一个预设周期结束时,记录最后得到的初始分配的内存块块数;
所述分析单元,具体用于记录所述申请内存大小的峰值,当记录的所述峰值的个数累积达到预设个数时,按照预设加权分析方法对累积的所述峰值进行加权分析;
所述预设加权分析方法为根据出现所述峰值的时间和所述峰值保持的时长进行加权分析。
第三方面,提供一种电子设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的基于嵌入式系统的内存分配方法的步骤。
第四方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的基于嵌入式系统的内存分配方法的步骤。
本发明的有益效果是:一种基于嵌入式系统的内存分配方法、内存分配装置、电子设备和计算机存储介质,包括:根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。可见,该基于嵌入式系统的内存分配方法、内存分配装置、电子设备和计算机存储介质,能够根据之前记录的用户的使用习惯对后续的嵌入式系统需分配的初始内存大小进行智能化的调整,解决了嵌入式系统在使用过程中存在内存浪费的问题,提高了内存使用效率,降低了成本。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制,在附图中:
图1是本发明的第一实施例的基于嵌入式系统的内存分配方法的流程图;
图2是本发明的第二实施例的基于嵌入式系统的内存分配方法的流程图;
图3是本发明的第三实施例的基于嵌入式系统的内存分配装置的结构框图;
图4是本发明的第五实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,其是本发明的第一实施例的基于嵌入式系统的内存分配方法的流程图。
该基于嵌入式系统的内存分配方法,包括:
步骤S101:根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小。
具体地,本发明实施例中的嵌入式系统,包括先进的RISC(reduced instructionset computer,精简指令集计算机)机器处理器(Advanced RISC Machines,ARM)的Linux系统等。
具体地,在本发明实施例中,所述嵌入式系统接收到的内存申请请求,可以是系统驱动程序发送的,也可以是针对嵌入式系统中安装的各种应用程序(Application,APP)的用户进程,其在运行或执行其他操作时发送的。
步骤S102:记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析。
具体地,在通常情况下,所述嵌入式系统的内存会默认被划分成若干块内存区域,其中,包括大块内存区域和小块内存区域,针对大块内存区域和小块内存区域,还可以进一步根据需求再划分成多个内存块。记录所述申请内存大小实际上是记录申请的所述内存块的块数。
具体地,所述预设加权分析方法是把所述申请内存大小的各种影响因素,定性或定量的划分成不同等级,并赋予每一个等级一个分值,以此表示该因素对所述申请内存大小的影响重要程度,同时,根据不同因素对所述申请内存大小的影响重要程度设立加权值,计算出所述申请内存大小的评分值,最后根据该评分值的高低得出分析结果。
具体地,所述预设个数可以根据大数据统计分析方法,如描述型分析统计方法,统计出能够体现用户使用习惯的对应的使用设备的次数,并根据此次数,预先设置所述预设个数的数值。
步骤S103:根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。
具体地,所述嵌入式系统包括内存分配统计池、内存管理控制单元和内存空间。其中,所述内存分配统计池用于对各次、各个大小的内存容量需求情况,即所述申请内存大小的情况进行记录;内存管理控制单元用于根据内存分配统计池中的记录信息,对内存空间进行控制处理;内存空间作为资源,用于供内存管理控制单元使用。所述嵌入式系统的周期一般是指从嵌入式系统的内存管理控制单元启动到停止的完整过程,该过程为所述预设周期。所述嵌入式系统的块数为指定大小的内存块的数量。所述嵌入式系统的申请量为单次内存申请的内存大小,即单次所述申请内存大小,所述申请内存大小可以对应物理内存大小,也可以对应内存块的数量。
在嵌入式系统中,一个周期可以理解为从开机到关机的过程。在一个周期内,将各个大小的内存容量需求的峰值存储到内存分配统计池的对应位置。在下一周期的开机时,针对内存分配统计池的统计信息,来决定各个大小的内存块需要分配多大的数量。
因此,本发明实施例的基于嵌入式系统的内存分配方法,是一种智能化的内存分配方案,可以满足同一种设备在不同使用场景中或不同用户操作环境中的内存使用要求,达到最大化的使用内存的目的。
与现有技术相比,本发明实施例的基于嵌入式系统的内存分配方法,能够根据之前记录的用户的使用习惯对后续的嵌入式系统需分配的初始内存大小进行智能化的调整,解决了嵌入式系统在使用过程中存在内存浪费的问题,提高了内存使用效率,降低了成本。
请参考图2,其是本发明的第二实施例的基于嵌入式系统的内存分配方法的流程图。在本实施例中,对包含的每个步骤均进行了详细说明。
该基于嵌入式系统的内存分配方法,包括:
步骤S201:根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小。
其中,所述预设周期为所述嵌入式系统从启动到停止的过程。
其中,所述申请内存大小为申请的内存块对应的内存大小,所述初始内存大小为初始的内存块对应的内存大小;其中,所述内存块的内存大小为固定值。
具体地,在现有技术中,内存分配在嵌入式系统发布时就已经固定,此固定值为初始内存大小。该初始内存大小不会在使用过程中进行动态的调整,导致无法解决同一种设备应用于不同使用场景而带来的内存资源的浪费问题。在应用本发明实施例的基于嵌入式系统的内存分配方法的嵌入式系统中,在新的系统发布时,内存分配统计池中各周期中所有内存块的块数值都是默认值,因此所有的新设备的内存分配结构也都是一样的。
其中,所述获得所述内存申请请求对应的申请内存大小,包括:
在一个预设周期内,若接收到所述内存申请请求,则将与所述内存申请请求对应的内存块的块数递增,以获得递增后的内存块块数;
具体地,在用户使用的一个周期中,若发生了内存申请的操作,那就将内存申请请求的申请量对应的块数值递增;若发生了内存释放的操作,那就将内存申请请求的申请量对应的块数值递减。
步骤S202:记录所述申请内存大小的峰值,当记录的所述峰值的个数累积达到预设个数时,按照预设加权分析方法对累积的所述峰值进行加权分析。
其中,所述记录所述申请内存大小,包括:
当递增后的所述内存块块数大于初始分配的内存块块数,则更新初始分配的内存块的块数;
在所述一个预设周期结束时,记录最后得到的初始分配的内存块块数。
其中,所述预设加权分析方法为根据出现所述峰值的时间和所述峰值保持的时长进行加权分析。
具体地,出现所述峰值的时间和所述峰值保持的时长,是对所述申请内存大小,即申请的内存块块数的影响因素,把出现所述峰值的时间和所述峰值保持的时长划分成不同等级,其中,出现所述峰值的时间的分值比所述峰值保持的时长的分值低,并根据出现所述峰值的时间和所述峰值保持的时长对分配的内存块块数的影响重要程度设立加权值,计算出申请的内存块块数的评分值,最后根据评分值的高低得出分析结果。
步骤S203:根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。
具体地,以下举例说明,本发明实施例的基于嵌入式系统的内存分配方法的执行过程:
以手机为例,手机是一种嵌入式设备,而在手机中存在多种应用,以WAP Browser和Java Game为例,有些使用者喜欢上网浏览网页,即使用WAP Browser的APP,该行为设定为A;有些使用者喜欢享受游戏的过程,即使用Java Game的APP,该行为设定为B。当喜欢操作A的用户和喜欢操作B的用户都拿到手机的时候,其内存分配统计池中内容为默认值,即第一次开机时,两者的内存结构形式一致。但是由于在上网浏览过程中,较大的内存需求比较多,而在游戏过程中,少量的内存容量较多,所以在一次又一次的周期后,A对应的手机中的内存分配结构的较大的内存块数量增多,B对应的手机中的内存分配结构的小块的内存块数量增多。如此,A对应的手机中不会存在太多的未使用的小块的内存块,而B对应的手机中也不会把大块的内存块做为小的内存需求来分配,从而达到提高内存使用效率的目的。
在用户使用的一个周期中,发生了内存申请的操作,那就将该内存申请的操作的申请量对应的块数值递增;如果发生了内存释放的操作,那就将该内存申请的操作的申请量对应的块数值递减。在递增时,与内存的初始分配块数值进行比较,如果当前值大,则更新初始分配块数的数值。在周期结束时,将最后得到的初始分配块数值写入到内存分配统计池。
在内存分配统计池中记录着最近几个周期的各个内存量级的块数峰值。在一个新的周期开始时,将统计池中的各周期进行加权分析,以确定最终本周期的各内存块量级的初始分配块数。
与现有技术相比,本发明实施例的基于嵌入式系统的内存分配方法,系统的内存分配结构会随着使用者的偏好进行智能修改,动态的进行内存分配结构的调整,以达到更好的适应使用场景的要求,增强了系统的健壮性。
上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
以下为本发明提供的基于嵌入式系统的内存分配装置的实施例。基于嵌入式系统的内存分配装置的实施例与上述的基于嵌入式系统的内存分配方法的实施例属于同一构思,基于嵌入式系统的内存分配装置的实施例中未详尽描述的细节内容,可以参考上述基于嵌入式系统的内存分配方法的实施例。
请参考图3,其是本发明的第三实施例的基于嵌入式系统的内存分配装置的结构示意图。
该基于嵌入式系统的内存分配装置,包括:
获得单元310,用于根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;
分析单元320,用于记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;
分配单元330,用于根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。
与现有技术相比,本发明实施例的基于嵌入式系统的内存分配装置,能够根据之前记录的用户的使用习惯对后续的嵌入式系统需分配的初始内存大小进行智能化的调整,解决了嵌入式系统在使用过程中存在内存浪费的问题,提高了内存使用效率,降低了成本。
以下是本发明的基于嵌入式系统的内存分配装置的第四实施例。本实施例与基于嵌入式系统的内存分配装置第三个实施例的主要区别在于对分析单元320进行了具体说明。
该基于嵌入式系统的内存分配装置,包括:
获得单元310,用于根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;
分析单元320,用于记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;
分配单元330,用于根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小。
其中,所述预设周期为所述嵌入式系统从启动到停止的过程;
所述申请内存大小为申请的内存块对应的内存大小,所述初始内存大小为初始的内存块对应的内存大小;其中,所述内存块的内存大小为固定值;
所述获得所述内存申请请求对应的申请内存大小,包括:
在一个预设周期内,若接收到所述内存申请请求,则将与所述内存申请请求对应的内存块的块数递增,以获得递增后的内存块块数;
所述记录所述申请内存大小,包括:
当递增后的所述内存块块数大于初始分配的内存块块数,则更新初始分配的内存块的块数;
在所述一个预设周期结束时,记录最后得到的初始分配的内存块块数;
所述分析单元320,具体用于记录所述申请内存大小的峰值,当记录的所述峰值的个数累积达到预设个数时,按照预设加权分析方法对累积的所述峰值进行加权分析;
所述预设加权分析方法为根据出现所述峰值的时间和所述峰值保持的时长进行加权分析。
与现有技术相比,本发明实施例的基于嵌入式系统的内存分配装置,系统的内存分配结构会随着使用者的偏好进行智能修改,动态的进行内存分配结构的调整,以达到更好的适应使用场景的要求,增强了系统的健壮性。
以下为本发明提供的电子设备的实施例。电子设备的实施例与上述的基于嵌入式系统的内存分配方法的实施例属于同一构思,电子设备的实施例中未详尽描述的细节内容,可以参考上述基于嵌入式系统的内存分配方法的实施例。
本发明的第五实施例涉及一种电子设备,如图4所示,其是本发明的第五实施例的电子设备的结构示意图。
该电子设备包括:至少一个处理器501;以及,与至少一个处理器501通信连接的存储器502;其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使至少一个处理器501能够执行如上述实施例提及的基于嵌入式系统的内存分配方法的步骤。
处理器501、存储器502可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器501通过运行存储在存储器502中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述基于嵌入式系统的内存分配方法。
存储器502可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器502可选包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器502中,当被一个或者多个处理器501执行时,执行上述任意实施例中的基于嵌入式系统的内存分配方法。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的基于嵌入式系统的内存分配方法。
以下为本发明提供的计算机可读存储介质的实施例。计算机可读存储介质的实施例与上述的基于嵌入式系统的内存分配方法的实施例属于同一构思,计算机可读存储介质的实施例中未详尽描述的细节内容,可以参考上述基于嵌入式系统的内存分配方法的实施例。
该计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现如上述基于嵌入式系统的内存分配方法的步骤。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施例在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和块数不限制本申请的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (7)

1.一种基于嵌入式系统的内存分配方法,其特征在于,包括:
根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;
记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;
根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小;
其中,所述申请内存大小为申请的内存块对应的内存大小,所述初始内存大小为初始的内存块对应的内存大小;
其中,所述获得所述内存申请请求对应的申请内存大小,包括:
在一个预设周期内,若接收到所述内存申请请求,则将与所述内存申请请求对应的内存块的块数递增,以获得递增后的内存块块数;
所述记录所述申请内存大小,包括:
当递增后的所述内存块块数大于初始分配的内存块块数,则更新初始分配的内存块的块数;
在所述一个预设周期结束时,记录最后得到的初始分配的内存块块数;
其中,所述记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析,包括:
记录所述申请内存大小的峰值,当记录的所述峰值的个数累积达到预设个数时,按照预设加权分析方法对累积的所述峰值进行加权分析。
2.根据权利要求1所述的一种基于嵌入式系统的内存分配方法,其特征在于,所述预设周期为所述嵌入式系统从启动到停止的过程。
3.根据权利要求1所述的一种基于嵌入式系统的内存分配方法,其特征在于,所述内存块的内存大小为固定值。
4.根据权利要求1所述的一种基于嵌入式系统的内存分配方法,其特征在于,所述预设加权分析方法为根据出现所述峰值的时间和所述峰值保持的时长进行加权分析。
5.一种基于嵌入式系统的内存分配装置,其特征在于,包括:
获得单元,用于根据预设周期内所述嵌入式系统接收到的内存申请请求,获得所述内存申请请求对应的申请内存大小;
分析单元,用于记录所述申请内存大小,当记录的所述申请内存大小的个数累积达到预设个数时,按照预设加权分析方法对累积的所述申请内存大小进行加权分析;
分配单元,用于根据分析结果,调整所述嵌入式系统在新一轮的预设周期内需分配的初始内存大小;
其中,所述预设周期为所述嵌入式系统从启动到停止的过程;
所述申请内存大小为申请的内存块对应的内存大小,所述初始内存大小为初始的内存块对应的内存大小;其中,所述内存块的内存大小为固定值;
所述获得所述内存申请请求对应的申请内存大小,包括:
在一个预设周期内,若接收到所述内存申请请求,则将与所述内存申请请求对应的内存块的块数递增,以获得递增后的内存块块数;
所述记录所述申请内存大小,包括:
当递增后的所述内存块块数大于初始分配的内存块块数,则更新初始分配的内存块的块数;
在所述一个预设周期结束时,记录最后得到的初始分配的内存块块数;
所述分析单元,具体用于记录所述申请内存大小的峰值,当记录的所述峰值的个数累积达到预设个数时,按照预设加权分析方法对累积的所述峰值进行加权分析;
所述预设加权分析方法为根据出现所述峰值的时间和所述峰值保持的时长进行加权分析。
6.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至4中任一项所述的基于嵌入式系统的内存分配方法的步骤。
7.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的基于嵌入式系统的内存分配方法的步骤。
CN202010390798.0A 2020-05-11 2020-05-11 内存分配方法、装置、电子设备和计算机可读存储介质 Active CN111562986B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010390798.0A CN111562986B (zh) 2020-05-11 2020-05-11 内存分配方法、装置、电子设备和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010390798.0A CN111562986B (zh) 2020-05-11 2020-05-11 内存分配方法、装置、电子设备和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111562986A CN111562986A (zh) 2020-08-21
CN111562986B true CN111562986B (zh) 2023-05-16

Family

ID=72068009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010390798.0A Active CN111562986B (zh) 2020-05-11 2020-05-11 内存分配方法、装置、电子设备和计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111562986B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104318543A (zh) * 2014-01-27 2015-01-28 郑州大学 基于图像处理方法的板材计量方法与装置
CN104679666A (zh) * 2013-12-02 2015-06-03 上海联影医疗科技有限公司 一种嵌入式系统内存的管理方法及管理系统
WO2016082591A1 (zh) * 2014-11-26 2016-06-02 中兴通讯股份有限公司 嵌入式系统内存统计方法及装置
CN110866589A (zh) * 2018-08-10 2020-03-06 高德软件有限公司 深度神经网络模型的运行方法、装置及框架

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104679666A (zh) * 2013-12-02 2015-06-03 上海联影医疗科技有限公司 一种嵌入式系统内存的管理方法及管理系统
CN104318543A (zh) * 2014-01-27 2015-01-28 郑州大学 基于图像处理方法的板材计量方法与装置
WO2016082591A1 (zh) * 2014-11-26 2016-06-02 中兴通讯股份有限公司 嵌入式系统内存统计方法及装置
CN110866589A (zh) * 2018-08-10 2020-03-06 高德软件有限公司 深度神经网络模型的运行方法、装置及框架

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
程小辉 ; 龚幼民 ; 许安明 ; .基于马尔可夫链的嵌入式内存预测分配算法.计算机工程与设计.2013,(08),全文. *

Also Published As

Publication number Publication date
CN111562986A (zh) 2020-08-21

Similar Documents

Publication Publication Date Title
US10990540B2 (en) Memory management method and apparatus
CN103067425B (zh) 虚拟机创建方法、虚拟机管理系统及相关设备
EP2921963B1 (en) Memory recycling method and device
CN105677477A (zh) 一种优化应用程序资源的方法、装置及电子设备
CN104113576A (zh) 一种客户端的更新方法及装置
CN103294718A (zh) 网页缓存管理方法和装置
CN106790525A (zh) 一种文件下载方法及装置
WO2011095086A1 (zh) 一种基于linux系统的设备及其应用启动的方法
EP3819773A1 (en) Data prefetching method and terminal device
CN109271253A (zh) 一种资源调配方法、装置及系统
CN110990133A (zh) 边缘计算服务迁移方法、装置、电子设备及介质
CN115509953A (zh) 内存回收方法及其装置
CN110580195B (zh) 一种基于内存热插拔的内存分配方法和装置
CN106293805A (zh) 程序加载的方法及装置
CN107239467A (zh) 基于数据库的数据处理方法及装置
CN101938516A (zh) 一种面向用户的动态分配存储资源的方法
CN111562986B (zh) 内存分配方法、装置、电子设备和计算机可读存储介质
CN110633113A (zh) 一种应用程序启动的方法及系统、存储介质、移动设备
CN107912063A (zh) 一种内存回收方法及装置
CN110096352B (zh) 进程管理方法、装置及计算机可读存储介质
CN110109970B (zh) 一种数据查询处理方法及装置
CN105843752A (zh) 分配移动终端内存缓存图片数据方法及装置
CN114996014A (zh) 基于ion分配器的内存分配方法、装置和电子设备
CN104679666A (zh) 一种嵌入式系统内存的管理方法及管理系统
CN114564315A (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