CN111177024B - 一种内存优化处理方法及装置 - Google Patents

一种内存优化处理方法及装置 Download PDF

Info

Publication number
CN111177024B
CN111177024B CN201911405089.9A CN201911405089A CN111177024B CN 111177024 B CN111177024 B CN 111177024B CN 201911405089 A CN201911405089 A CN 201911405089A CN 111177024 B CN111177024 B CN 111177024B
Authority
CN
China
Prior art keywords
memory
replacement
page
tasks
memory space
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
CN201911405089.9A
Other languages
English (en)
Other versions
CN111177024A (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.)
Qingdao Haier Technology Co Ltd
Original Assignee
Qingdao Haier 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 Qingdao Haier Technology Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN201911405089.9A priority Critical patent/CN111177024B/zh
Publication of CN111177024A publication Critical patent/CN111177024A/zh
Application granted granted Critical
Publication of CN111177024B publication Critical patent/CN111177024B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • 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)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本发明提供了一种内存优化处理方法及装置,其中,该方法包括:将系统的内存空间划分出预定大小的非置换区域,该内存空间包括该非置换区域和除该非置换区域之外的置换区域;将重要程度满足预定条件的任务执行所分配的内存页面载入该非置换区域;通过页面回收进程仅对该内存空间的置换区域进行内存优化,可以解决相关技术中随机杀掉进程的方式,当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率的问题,通过将系统的内存空间划分出非置换区域,用于存储重要程度高的任务的内存页面,在进程置换时不扫描该非置换区域,节省进程置换的扫描时间,提高了系统整体性能。

Description

一种内存优化处理方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种内存优化处理方法及装置。
背景技术
随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部分,广泛应用到生产生活的各个领域,例如工业控制、航空航天、医疗仪器、消费电子等等。并且使用者(或消费者)对嵌入式系统的需求不断提高,例如界面友好、功能丰富、智能化、实时性等等。在嵌入式系统中,总内存的大小是有限的,但是随着应用软件的不断增加,大量的进程对系统内存资源的需求也会增加,从而出现系统内存需求超过系统内存总量。
现有技术中,在当出现系统内存需求超过系统运行最大内存占用限制时,优化嵌入式系统中的内存的主要方式有随机杀掉一些进程的方式。随机杀掉进程的方式,多为根据进程的重要性确定,重要程度高的进程则被杀掉的概率最小,重要程度低的进程则被杀掉的概率最大,例如,可以通过系统中的低内存管理工具Low Memory Killer(LMK)实现,LMK主要是通过进程的oom_adj来判定进程的重要程度,oom_adj值越小,程序越重要,被杀的可能性越低。随机杀掉进程的方式,由于LMK杀掉后台进程后会触发系统自身的进程调度策略,但这却是十分消耗系统资源的操作,特别是在当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率。
针对相关技术中随机杀掉进程的方式,当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种内存优化处理方法及装置,以至少解决相关技术中随机杀掉进程的方式,当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率的问题。
根据本发明的一个实施例,提供了一种内存优化处理方法,包括:
将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
通过页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域包括:
根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;
将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域。
可选地,根据所述任务的重要性和实时性确定任务的综合指标包括:
获取所述系统中N个任务的配置数据,其中,所述配置数据至少包括:执行反馈时间及执行所分配的内存页面大小,N为大于1的整数;
根据所述N个任务的执行反馈时间确定M个聚类中心,其中,0<M<N,M为整数;
将所述N个任务的执行反馈时间及执行所分配的内存页面大小,输入到预先训练好的目标神经网络模型的全连接层中,进行数据拟合,得到所述目标神经网络模型输出的所述N个任务的综合指标F;
重复以下步骤,以确定所述N个任务的目标聚类中心:
将所述N个任务的综合指标F分配给欧式距离最近的聚类中心Mj,得到M个聚类集合,其中,所述聚类中心Mj的综合指标为Fj,1≤j≤M;
通过计算所述M个聚类集合中所有任务的综合指标的平均值重新确定每个聚类集合的聚类中心M'j,直到所述聚类中心M'j不再改变,确定所述聚类中心M'j为所述N个任务的目标聚类中心;
确定所述M个聚类集合的综合指标总和。
可选地,将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域包括:
将所述综合指标总和最大的聚类集合中的任务执行所分配的内存页面载入所述非置换区域。
可选地,根据所述N个任务的执行反馈时间确定M个聚类中心包括:
通过以下方式计算所述N个任务的级别权重值:
Figure BDA0002348421050000031
其中,ki为任务i的级别权重值,ti为所述任务i的执行反馈时间,1≤i≤N,
Figure BDA0002348421050000032
为调整系数;
选取大于或等于第一预设阈值的j个任务作为所述M个聚类中心。
可选地,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
判断是否达到预设空闲间隔时间;
在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;
在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
在达到所述预设空闲间隔时间的情况下,对系统运行进行监控;在所述系统的内存空间的剩余内存空间大于或等于第二预设阈值时,判断所述页面回收进程当前扫描的内存空间是否为置换区域;
在所述当前扫描的内存空间为所述置换区域的情况下,通过所述页面回收进程对所述内存空间的置换区域进行内存优化;
在所述当前扫描的内存空间为所述非置换区域的情况下,通过页面回收进程跳过所述非置换区域,对所述非置换区域之外的内存空间进行扫描。
可选地,在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
在未达到所述预设空闲间隔时间且所述系统的内存空间的剩余内存空间小于所述第二预设阈值的情况下,确定目标任务执行所分配的内存页面是否存储于所述置换区域;
若所述目标任务执行所分配的内存页面存储于所述置换区域,通过页面回收进程对所述内存空间的置换区域进行内存优化;
若所述目标任务执行所分配的内存页面存储于所述非置换区域,直接从所述非置换区域中将所述目标任务执行所分配的内存页面分配给所述目标任务。
可选地,通过页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
对所述置换区域的inactive链表进行扫描,其中,所述inactive链表上存放有处于非活跃状态的页面;
从所述inactive链表的尾部开始查找,将预定时间内使用频率最少的内存页面从所述内存空间置换到磁盘空间,进行内存页面回收。
根据本发明的另一个实施例,还提供了一种内存优化处理装置,包括:
划分模块,用于将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
载入模块,用于将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
内存优化模块,用于通过页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,所述载入模块包括:
确定子模块,用于根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;
载入子模块,用于将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域。
可选地,所述确定子模块包括:
获取单元,用于获取所述系统中N个任务的配置数据,其中,所述配置数据至少包括:执行反馈时间及执行所分配的内存页面大小,N为大于1的整数;
第一确定单元,用于根据所述N个任务的执行反馈时间确定M个聚类中心,其中,0<M<N,M为整数;
输入单元,用于将所述N个任务的执行反馈时间及执行所分配的内存页面大小,输入到预先训练好的目标神经网络模型的全连接层中,进行数据拟合,得到所述目标神经网络模型输出的所述N个任务的综合指标F;
重复单元,用于重复以下步骤,以确定所述N个任务的目标聚类中心:
将所述N个任务的综合指标F分配给欧式距离最近的聚类中心Mj,得到M个聚类集合,其中,所述聚类中心Mj的综合指标为Fj,1≤j≤M;
通过计算所述M个聚类集合中所有任务的综合指标的平均值重新确定每个聚类集合的聚类中心M'j,直到所述聚类中心M'j不再改变,确定所述聚类中心M'j为所述N个任务的目标聚类中心;
第二确定单元,用于确定所述M个聚类集合的综合指标总和。
可选地,所述载入子模块,还用于
将所述综合指标总和最大的聚类集合中的任务执行所分配的内存页面载入所述非置换区域。
可选地,所述第一确定单元,还用于
通过以下方式计算所述N个任务的级别权重值:
Figure BDA0002348421050000061
其中,ki为任务i的级别权重值,ti为所述任务i的执行反馈时间,1≤i≤N,
Figure BDA0002348421050000062
为调整系数;
选取大于或等于第一预设阈值的j个任务作为所述M个聚类中心。
可选地,所述内存优化模块包括:
判断子模块,用于判断是否达到预设空闲间隔时间;
第一内存优化子模块,用于在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;
第二内存优化子模块,用于在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,所述第一内存优化子模块,还用于
在达到所述预设空闲间隔时间的情况下,对系统运行进行监控;在所述系统的内存空间的剩余内存空间大于或等于第二预设阈值时,判断所述页面回收进程当前扫描的内存空间是否为置换区域;
在所述当前扫描的内存空间为所述置换区域的情况下,通过所述页面回收进程对所述内存空间的置换区域进行内存优化;
在所述当前扫描的内存空间为所述非置换区域的情况下,通过页面回收进程跳过所述非置换区域,对所述非置换区域之外的内存空间进行扫描。
可选地,所述第二内存优化子模块,还用于
在未达到所述预设空闲间隔时间且所述系统的内存空间的剩余内存空间小于所述第二预设阈值的情况下,确定目标任务执行所分配的内存页面是否存储于所述置换区域;
若所述目标任务执行所分配的内存页面存储于所述置换区域,通过页面回收进程对所述内存空间的置换区域进行内存优化;
若所述目标任务执行所分配的内存页面存储于所述非置换区域,直接从所述非置换区域中将所述目标任务执行所分配的内存页面分配给所述目标任务。
可选地,所述第一内存优化子模块或所述第二内存优化子模块,还用于
对所述置换区域的inactive链表进行扫描,其中,所述inactive链表上存放有处于非活跃状态的页面;
从所述inactive链表的尾部开始查找,将预定时间内使用频率最少的内存页面从所述内存空间置换到磁盘空间,进行内存页面回收。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;通过页面回收进程仅对所述内存空间的置换区域进行内存优化,可以解决相关技术中随机杀掉进程的方式,当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率的问题,通过将系统的内存空间划分出非置换区域,用于存储重要程度高的任务的内存页面,在进程置换时不扫描该非置换区域,节省进程置换的扫描时间,同时保证重要的任务优先执行,提高了系统整体性能。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的内存优化处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的内存优化处理方法的流程图;
图3是根据本发明实施例的基于嵌入式系统的内存优化方法的流程图;
图4是根据本发明实施例的内存优化处理装置的框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的内存优化处理方法的移动终端的硬件结构框图,如图1所示,移动终端10可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的报文接收方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network INterface CoNtroller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio FrequeNcy,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
基于上述移动终端或架构,在本实施例中提供了一种内存优化处理方法,图2是根据本发明实施例的内存优化处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
步骤S204,将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
步骤S206,通过页面回收进程仅对所述内存空间的置换区域进行内存优化。具体的,在嵌入式系统中,页面回收进程可以是kswapd进程。
通过上述步骤S202至S206,通过将系统的内存空间划分出非置换区域,用于存储重要程度高的任务的内存页面,在进程置换时不扫描该非置换区域,节省进程置换的扫描时间,同时保证重要的任务优先执行,可以解决相关技术中随机杀掉进程的方式,当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率的问题,提高了系统整体性能。
本发明实施例中,可以根据任务的重要性和实时性确定综合指标,具体的,可以通过任务的执行反馈时间体现任务的实时性,通过任务的执行反馈时间和任务执行所分配的内存页面大小确定任务的重要性,对应的,上述步骤S204具体可以包括:
S2041,根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;
进一步的,获取所述系统中N个任务的配置数据,其中,所述配置数据至少包括:执行反馈时间及执行所分配的内存页面大小,N为大于1的整数;
根据所述N个任务的执行反馈时间确定M个聚类中心,其中,0<M<N,M为整数;可选的,通过以下方式计算所述N个任务的级别权重值:
Figure BDA0002348421050000101
其中,ki为任务i的级别权重值,ti为所述任务i的执行反馈时间,1≤i≤N,
Figure BDA0002348421050000102
为调整系数;选取大于或等于第一预设阈值的j个任务作为所述M个聚类中心,所述第一预设阈值可以事先根据经验值设置,也可以是所述N个任务的基本权重值的平均值;
将所述N个任务的执行反馈时间及执行所分配的内存页面大小,输入到预先训练好的目标神经网络模型的全连接层中,进行数据拟合,得到所述目标神经网络模型输出的所述N个任务的综合指标F;
重复以下步骤,以确定所述N个任务的目标聚类中心:
将所述N个任务的综合指标F分配给欧式距离最近的聚类中心Mj,得到M个聚类集合,其中,所述聚类中心Mj的综合指标为Fj,1≤j≤M;
通过计算所述M个聚类集合中所有任务的综合指标的平均值重新确定每个聚类集合的聚类中心M'j,直到所述聚类中心M'j不再改变,确定所述聚类中心Mj为所述N个任务的目标聚类中心;
在确定目标聚类中心之后得到最终的M个聚类集合,确定所述M个聚类集合的综合指标总和。
S2042,将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域,进一步的,将所述综合指标总和最大的聚类集合中的任务执行所分配的内存页面载入所述非置换区域。
本发明实施例中,上述步骤S206具体可以包括:
S2061,判断是否达到预设空闲间隔时间;
S2062,在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;
进一步的,在达到所述预设空闲间隔时间的情况下,对系统运行进行监控;在所述系统的内存空间的剩余内存空间大于或等于第二预设阈值时,判断所述页面回收进程当前扫描的内存空间是否为置换区域;
在所述当前扫描的内存空间为所述置换区域的情况下,通过所述页面回收进程对所述内存空间的置换区域进行内存优化;
在所述当前扫描的内存空间为所述非置换区域的情况下,通过所述页面回收进程跳过所述非置换区域,对所述非置换区域之外的内存空间进行扫描。
S2063,在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;
进一步的,在未达到所述预设空闲间隔时间且所述系统的内存空间的剩余内存空间小于所述第二预设阈值的情况下,确定目标任务执行所分配的内存页面是否存储于所述置换区域;
若所述目标任务执行所分配的内存页面存储于所述置换区域,通过页面回收进程对所述内存空间的置换区域进行内存优化;
若所述目标任务执行所分配的内存页面存储于所述非置换区域,直接从所述非置换区域中将所述目标任务执行所分配的内存页面分配给所述目标任务。
在一可选的实施例中,上述的通过页面回收进程仅对所述内存空间的置换区域进行内存优化具体可以包括:对所述置换区域的inactive链表进行扫描,其中,所述inactive链表上存放有处于非活跃状态的页面;从所述inactive链表的尾部开始查找,将预定时间内使用频率最少的内存页面从所述内存空间置换到磁盘空间,进行内存页面回收。
本发明实施例的嵌入式系统的内存优化,主要通过对运行于系统中的进程按照任务的实时性要求进程区分,将实时性要求高的任务所对应的内存页面,在进行内存优化时不置换出外存储器中,而是保持一直存储于内存空间中;同时,通过将系统的内存空间划分出一固定区域用于存储任务重要性高的内存页面,以在进程置换时不扫描划分出的内存区域,节省进程置换的扫描时间,同时保证实时性高的任务优先执行。图3是根据本发明实施例的基于嵌入式系统的内存优化方法的流程图,如图3所示,包括:
步骤S301,将系统的内存空间进行拆分,从内存空间中划分出一个设定大小的非置换内存空间区域,并将系统中重要的实时任务所需的内存页面载入该区域;
具体的,可以将系统的物理内存进行拆分,划分出一个非置换存储空间,用于存储任务级别高的任务,剩下的内存空间将被作为置换存储空间区域。在嵌入式Linux系统中,可以通过kswapd进程来实现重要实时任务的内存常驻。在kswapd进程中增加一个内存页面区域,当系统初始化时,将系统中重要的实时任务所需的内存页面空间载入该区域,这样kswapd的扫描进程就不再扫描该区域,这样不仅保证了重要程序的内存空间的供给,另一方面也减少了kswapd进程的扫描时间,提高扫描效率,从而增强系统的实时性。
kswapd进程它负责确保系统空闲物理内存的数量在一个合适的范围,它监控内核中的pages_high和pages_low阈值。如果空闲内存页的数值低于pages_low,则每次kswapd进程启动扫描并尝试释放32个free pages。并一直重复这个过程,直到空闲内存的数值高于pages_high。
在嵌入式系统中,对于系统运行任务会根据任务的重要性要求、实时性要求等对运行任务划分不同的处理重要级别。
可以设定任务的重要级别与任务的实时性要求线性相关,具体可以通过下面公式计算:
Figure BDA0002348421050000131
其中,ki为任务i的级别权重,为反馈时间ti的函数,
Figure BDA0002348421050000132
为调整系数,由系统设定,保证ki为大于或等于1的正整数。实时性要求越高,该级别权重越大,即反馈时间越小,级别权重越大。
通过上面的公式可知,任务的重要级别会随着任务的实时性要求变化调整。在从内存空间划分出一个特定大小非置换空间,用以独立的存储实时性要求高的任务所分配的内存页面时,由于空间大小是不容易改变的,因此,需要基于任务的重要级别谨慎选择加入到该非置换区域的任务。
下面提出了基于聚类的加入非置换区域的任务确定方法,具体确定过程如下:
使用K-mean作为聚类算法,聚类过程为,
1)提取系统中所有任务的配置数据,该数据包括了任务的执行反馈时间t及任务执行所分配的内存页面大小s等参数;
2)通过上述公式计算任务i的级别权重值ki,并选取ki≥Δk的j个任务作为聚类中心,选取大于等于Δk的j个任务作为聚类中心M,可以排除一些时间要求较低的任务作为聚类中心,从而干扰聚类效果;
为了避免一些时间要求高,但又特别占用内存空间的任务(即,任务进程执行需要较长时间)被分配到非置换空间中,导致非置换空间占用较大的内存空间,或者导致固定置换空间中仅能载入较少的任务的内存页面。通过聚类的过程,可以既选择实时性要求高的任务还可以保证非置换空间中分配适当数量的任务,提高非置换空间的利用效率。
3)将所有的任务的执行反馈时间t及分配的内存页面大小s,输入到神经网络模型的全连接层,进行数据拟合,得到任务综合指标F;
Fi=f(ti,si);
4)逐个将系统中的任务i的综合指标Fi按照欧式距离分配给最近的一个聚类中心Mj,任务i的综合指标为Fi,聚类中心Mj的综合指标为Fj,欧式距离的计算公式如下:
Figure BDA0002348421050000141
如果第i个任务到聚类中心Mj的距离越小,则将第i个任务赋予到聚类中心Mj对应的聚类集合中;
5)重新计算每个类的中心点,聚类中心的计算方式为将该类下所有任务的综合指标的平均值,并使用新的中心点作为聚类中心;
6)重复迭代步骤4)和步骤5)的聚类过程,直到根据步骤5所确定的新的中心点不再变化时结束聚类过程;
7)然后按照综合指标的大小,优先选取聚类集合的综合指标值总和最大的集合放入非置换空间,同时,可以根据选取的聚类集合中的任务对应的执行内存页面大小确定非置换空间的内存大小。
步骤S302,判断是否达到设定空闲间隔时间,在判断结果为是的情况下,执行步骤S303,否则执行步骤S305;
步骤S303,对系统运行进行监控,在系统内存空闲时(系统的空闲页面大小小于等于设定的阈值时),启动内存扫描;
步骤S304,判断当前扫描的内存区域是否为置换区域,在判断结果为是的情况下,执行步骤S307,否则执行步骤S309;
步骤S305,判断系统的物理内存空间是否充足,在判断结果为否的情况下,执行步骤S306,在判断结果为是的情况下,执行步骤S310;
步骤S306,判断新进场所访问的页面是否存储于非置换内存区域(对应上述的非置换区域),在判断结果为否的情况下,执行步骤S307,在判断结果为是的情况下,执行步骤S308;
S307,对inactive链表进行扫描,将最近最少使用的页面置换出内存区域;
步骤S308,从非置换内存区域中将所访问的页面分配给所述新的进程;
S309,自动跳过该非置换区域,继续其他区域扫描;
步骤S310,直接根据进程的访问请求,分配所需访问的页面该新进程。
Linux系统会设定一个kswapd进程的间隔扫描时间,该间隔扫描时间的设定主要基于系统的内存空闲时间确定,主要为了在当系统处于空闲时,实现对系统运行的监控扫描。系统内存空闲的确定,可以是根据系统内存页面的大小确定,如系统内存页面的大小为50%内存大小时,作为触发对系统内存扫描进程的启动。
在当系统内存页面的大小大于设定的空闲阈值时,系统会认定为当前空闲内存页面的数量充足,能够满足系统中应用程序的内存分配请求,此时不会触发页面置换。
在本发明实施例中,设定内存空闲阈值可以内存使用率确定,而在Linux系统中,linux的内存管理机制通常采用内存利用率最大化。内核会把剩余的内存申请为cached,而cached不属于free范畴,因此,通过free命令查询的内存非常小时,并不代表可用的内存小,当一个程序需要申请较大的内存时,如果free的内存不够,内核会把部分cached的内存回收,回收的内存再分配给应用程序。所以对于linux系统,可用于分配的内存不只是free的内存,还包括cached的内存,在具体计算的时候还应包括buffers内存。
内存使用率的计算公式如下:
内存使用率=100*(内存总计-空闲内存大小-cached的内存大小-buffers的内存大小)/内存总计
在有些系统中,如SUSE系统,可用内存大小还应包括SReclaimable的内存,其可用内存的计算公式应为如下:
可用内存=空闲内存大小+cached内存大小+buffers内存大小+SReclaimable内存大小;
在本发明实施例中,示例性的可以设定空闲阈值为50%的内存总大小,也即内存使用率为50%的空闲页面大小。该阈值的设定可以根据实际的系统配置和置换需求调整。
上述步骤S304中,可以通过kswapd进程判断当前扫描的内存区域是否为置换区域,如果是,则对inactive链表进行扫描,从inactive链表的尾部开始查找,将最近最少使用的页面置换出内存区域,进行内存页面回收;如果否,则kswapd进程会自动跳过该区域,继续其他区域扫描;
kswapd进程在内存区域中的置换区域中查找最近最少使用的页面,将这些内存页面置换磁盘中存储,被置换到磁盘中存储的内存页面在内存空间中将会被删除;
在Linux中,操作系统对LRU的实现主要是基于一对双向链表:active链表和inactive链表,这两个链表是Linux操作系统进行页面回收所依赖的关键数据结构,那些经常被访问的处于活跃状态的页面会被放在active链表上,而那些虽然可能关联到一个或者多个进程,但是并不经常使用的页面则会被放到inactive链表上。页面会在这两个双向链表中移动,操作系统会根据页面的活跃程度来判断应该把页面放到哪个链表上。页面可能会从active链表上被转移到inactive链表上,也可能从inactive链表上被转移到active链表上,但是,这种转移并不是每次页面访问都会发生,页面的这种转移发生的间隔有可能比较长。那些最近最少使用的页面会被逐个放到inactive链表的尾部。进行页面回收的时候,Linux操作系统会从inactive链表的尾部开始进行回收。
上述步骤S305中,判断系统的物理内存空间是否充足,如果不足时,则确定新的进程所访问的页面是否存储于非置换内存区域,如果是,则直接从非置换内存区域中将所访问的页面分配给所述新的进程;如果不是,则对inactive链表进行扫描,进行页面置换;
对于上述步骤S303中,是在系统处于空闲时间时,启动内存扫描,并主动将内存中的最近最少使用的非重要任务的内存页面进行页面置换,从而提高系统的内存页面的数量,以减少任务执行过程中内存页面置换中断的发生。
步骤S305中则是在系统出现不足时,当有新进程访问时,根据进程的重要性进行置换和内存访问的控制。在步骤S301中,已经将系统中的重要任务所访问的页面主动载入到了非置换区域,该非置换区域仍位于内存空间中,但却是独立的一个子内存空间,其所存储的内存页面是不会被置换出内存的。
在当内存不足时,如有新进程访问时,如果该进程为重要任务,其所访问的内存页面会固定存储于内存空间中的非置换区域中,可以直接从非置换空间中访问内存页面的,不会导致重要任务的内存页面在内外存之间来回置换而引起的任务执行的中断;如果新进程为非重要任务,且其所访问的页面不在内存中时,需把他们先调入内存,此时由于内存已无空闲空间,则必须先置换出最近最少使用的页面到外存储器的对换区中以进行空间收回,才能将所访问的页面调入到内存中,并分配给新进程。
在多任务操作系统中的每一个进程都运行在一个属于它自己的内存沙盘中。这个沙盘就是虚拟地址空间(virtual address space),在32位模式下它总是一个4GB的内存地址块。这些虚拟地址通过页表(page table)映射到物理内存,页表由操作系统维护并被处理器引用。每一个进程拥有一套属于它自己的页表。
上述步骤S310中,如果判断系统的物理内存空间充足,则直接根据进行的访问请求,分配所需访问的页面给所述进程。
对于当系统内存空间充足时,所有的进程可以直接被分配到对应的内存页面,此时kswapd进程将不会被唤醒,也不用对非活性inactive链表进行扫描。当到达下一个间隔扫描周期时,再重新唤醒kswapd进程。
本发明实施例将内存空间进行拆分,划分出一个固定的非置换空间,用于存储实时性要求高的任务所对应的内存页面,保证实时性高的任务的内存页面常住于内存空间中,并对现有的kswapd进程进行改进,使得改进后的kswapd进程不会扫描内存的非置换区域,节省扫描时间。通过为系统中的重要任务分配固定的内存区域,以减少重要任务因内存不足而发生的页面置换,重要任务就会常驻内存,在内存不足时不会频繁的发生页面置换中断,可以在一定程度上有效地提高重要任务的实时性,这对嵌入式系统尤为重要。
实施例2
根据本发明的另一个实施例,还提供了一种内存优化处理装置,图4是根据本发明实施例的内存优化处理装置的框图,如图4所示,包括:
划分模块42,用于将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
载入模块44,用于将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
内存优化模块46,用于通过页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,所述载入模块44包括:
确定子模块,用于根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;
载入子模块,用于将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域。
可选地,所述确定子模块包括:
获取单元,用于获取所述系统中N个任务的配置数据,其中,所述配置数据至少包括:执行反馈时间及执行所分配的内存页面大小,N为大于1的整数;
第一确定单元,用于根据所述N个任务的执行反馈时间确定M个聚类中心,其中,0<M<N,M为整数;
输入单元,用于将所述N个任务的执行反馈时间及执行所分配的内存页面大小,输入到预先训练好的目标神经网络模型的全连接层中,进行数据拟合,得到所述目标神经网络模型输出的所述N个任务的综合指标F;
重复单元,用于重复以下步骤,以确定所述N个任务的目标聚类中心:
将所述N个任务的综合指标F分配给欧式距离最近的聚类中心Mj,得到M个聚类集合,其中,所述聚类中心Mj的综合指标为Fj,1≤j≤M;
通过计算所述M个聚类集合中所有任务的综合指标的平均值重新确定每个聚类集合的聚类中心M'j,直到所述聚类中心M'j不再改变,确定所述聚类中心M'j为所述N个任务的目标聚类中心;
第二确定单元,用于确定所述M个聚类集合的综合指标总和。
可选地,所述载入子模块,还用于
将所述综合指标总和最大的聚类集合中的任务执行所分配的内存页面载入所述非置换区域。
可选地,所述第一确定单元,还用于
通过以下方式计算所述N个任务的级别权重值:
Figure BDA0002348421050000191
其中,ki为任务i的级别权重值,ti为所述任务i的执行反馈时间,1≤i≤N,
Figure BDA0002348421050000192
为调整系数;
选取大于或等于第一预设阈值的j个任务作为所述M个聚类中心。
可选地,所述内存优化模块46包括:
判断子模块,用于判断是否达到预设空闲间隔时间;
第一内存优化子模块,用于在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;
第二内存优化子模块,用于在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,所述第一内存优化子模块,还用于
在达到所述预设空闲间隔时间的情况下,对系统运行进行监控;在所述系统的内存空间的剩余内存空间大于或等于第二预设阈值时,判断所述页面回收进程当前扫描的内存空间是否为置换区域;
在所述当前扫描的内存空间为所述置换区域的情况下,通过所述页面回收进程对所述内存空间的置换区域进行内存优化;
在所述当前扫描的内存空间为所述非置换区域的情况下,通过页面回收进程跳过所述非置换区域,对所述非置换区域之外的内存空间进行扫描。
可选地,所述第二内存优化子模块,还用于
在未达到所述预设空闲间隔时间且所述系统的内存空间的剩余内存空间小于所述第二预设阈值的情况下,确定目标任务执行所分配的内存页面是否存储于所述置换区域;
若所述目标任务执行所分配的内存页面存储于所述置换区域,通过页面回收进程对所述内存空间的置换区域进行内存优化;
若所述目标任务执行所分配的内存页面存储于所述非置换区域,直接从所述非置换区域中将所述目标任务执行所分配的内存页面分配给所述目标任务。
可选地,所述第一内存优化子模块或所述第二内存优化子模块,还用于
对所述置换区域的inactive链表进行扫描,其中,所述inactive链表上存放有处于非活跃状态的页面;
从所述inactive链表的尾部开始查找,将预定时间内使用频率最少的内存页面从所述内存空间置换到磁盘空间,进行内存页面回收。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
S2,将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
S3,通过页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-ONly Memory,简称为ROM)、随机存取存储器(RaNdom Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
S2,将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
S3,通过页面回收进程仅对所述内存空间的置换区域进行内存优化。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种内存优化处理方法,其特征在于,包括:
将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域,包括:根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
通过页面回收进程仅对所述内存空间的置换区域进行内存优化;
其中,根据所述任务的重要性和实时性确定任务的综合指标包括:
获取所述系统中N个任务的配置数据,其中,所述配置数据至少包括:执行反馈时间及执行所分配的内存页面大小,N为大于1的整数;
根据所述N个任务的执行反馈时间确定M个聚类中心,其中,0<M<N,M为整数;
将所述N个任务的执行反馈时间及执行所分配的内存页面大小,输入到预先训练好的目标神经网络模型的全连接层中,进行数据拟合,得到所述目标神经网络模型输出的所述N个任务的综合指标F;
根据所述N个任务的综合指标F确定所述N个任务的目标聚类中心;
确定M个聚类集合的综合指标总和。
2.根据权利要求1所述的方法,其特征在于,根据所述N个任务的综合指标F确定所述N个任务的目标聚类中心包括:
重复以下步骤,以确定所述N个任务的目标聚类中心:
将所述N个任务的综合指标F分配给欧式距离最近的聚类中心Mj,得到M个聚类集合,其中,所述聚类中心Mj的综合指标为Fj,1≤j≤M;
通过计算所述M个聚类集合中所有任务的综合指标的平均值重新确定每个聚类集合的聚类中心M'j,直到所述聚类中心M'j不再改变,确定所述聚类中心M'j为所述N个任务的目标聚类中心。
3.根据权利要求2所述的方法,其特征在于,将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域包括:
将所述综合指标总和最大的聚类集合中的任务执行所分配的内存页面载入所述非置换区域。
4.根据权利要求2所述的方法,其特征在于,根据所述N个任务的执行反馈时间确定M个聚类中心包括:
通过以下方式计算所述N个任务的级别权重值:
Figure FDA0003659663790000021
其中,ki为任务i的级别权重值,ti为所述任务i的执行反馈时间,1≤i≤N,
Figure FDA0003659663790000022
为调整系数;
选取大于或等于第一预设阈值的j个任务作为所述M个聚类中心。
5.根据权利要求1所述的方法,其特征在于,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
判断是否达到预设空闲间隔时间;
在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;
在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化。
6.根据权利要求5所述的方法,其特征在于,在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
在达到所述预设空闲间隔时间的情况下,对系统运行进行监控;在所述系统的内存空间的剩余内存空间大于或等于第二预设阈值时,判断所述页面回收进程当前扫描的内存空间是否为置换区域;
在所述当前扫描的内存空间为所述置换区域的情况下,通过所述页面回收进程对所述内存空间的置换区域进行内存优化;
在所述当前扫描的内存空间为所述非置换区域的情况下,通过所述页面回收进程跳过所述非置换区域,对所述非置换区域之外的内存空间进行扫描。
7.根据权利要求5所述的方法,其特征在于,在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
在未达到所述预设空闲间隔时间且所述系统的内存空间的剩余内存空间小于所述第二预设阈值的情况下,确定目标任务执行所分配的内存页面是否存储于所述置换区域;
若所述目标任务执行所分配的内存页面存储于所述置换区域,通过页面回收进程对所述内存空间的置换区域进行内存优化;
若所述目标任务执行所分配的内存页面存储于所述非置换区域,直接从所述非置换区域中将所述目标任务执行所分配的内存页面分配给所述目标任务。
8.根据权利要求5至7中任一项所述的方法,其特征在于,通过页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
对所述置换区域的inactive链表进行扫描,其中,所述inactive链表上存放有处于非活跃状态的页面;
从所述inactive链表的尾部开始查找,将预定时间内使用频率最少的内存页面从所述内存空间置换到磁盘空间,进行内存页面回收。
9.一种内存优化处理装置,其特征在于,包括:
划分模块,用于将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
载入模块,用于将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域,包括:确定子模块,用于根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;载入子模块,用于将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
内存优化模块,用于通过页面回收进程仅对所述内存空间的置换区域进行内存优化;
其中,所述确定子模块包括:
获取单元,用于获取所述系统中N个任务的配置数据,其中,所述配置数据至少包括:执行反馈时间及执行所分配的内存页面大小,N为大于1的整数;
第一确定单元,用于根据所述N个任务的执行反馈时间确定M个聚类中心,其中,0<M<N,M为整数;
输入单元,用于将所述N个任务的执行反馈时间及执行所分配的内存页面大小,输入到预先训练好的目标神经网络模型的全连接层中,进行数据拟合,得到所述目标神经网络模型输出的所述N个任务的综合指标F;
重复单元,用于根据所述N个任务的综合指标F确定所述N个任务的目标聚类中心;
第二确定单元,用于确定M个聚类集合的综合指标总和。
10.一种计算机可读的存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。
11.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至8任一项中所述的方法。
CN201911405089.9A 2019-12-30 2019-12-30 一种内存优化处理方法及装置 Active CN111177024B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911405089.9A CN111177024B (zh) 2019-12-30 2019-12-30 一种内存优化处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911405089.9A CN111177024B (zh) 2019-12-30 2019-12-30 一种内存优化处理方法及装置

Publications (2)

Publication Number Publication Date
CN111177024A CN111177024A (zh) 2020-05-19
CN111177024B true CN111177024B (zh) 2022-09-06

Family

ID=70655778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911405089.9A Active CN111177024B (zh) 2019-12-30 2019-12-30 一种内存优化处理方法及装置

Country Status (1)

Country Link
CN (1) CN111177024B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111782397B (zh) * 2020-07-01 2022-09-06 浪潮云信息技术股份公司 一种Linux页面替换机制的屏蔽方法
CN112256440B (zh) * 2020-12-23 2021-03-09 上海齐感电子信息科技有限公司 神经网络推理的内存管理方法及装置
CN113064724A (zh) * 2021-03-26 2021-07-02 华控清交信息科技(北京)有限公司 一种内存分配管理方法、装置和用于内存分配管理的装置
CN114461375B (zh) * 2021-07-30 2023-01-20 荣耀终端有限公司 内存资源管理方法及电子设备
CN116774911A (zh) * 2022-03-10 2023-09-19 成都华为技术有限公司 内存管理方法和装置
CN115391032A (zh) * 2022-08-15 2022-11-25 上海慧程工程技术服务有限公司 一种用于工业物联网边缘设备的内存优化方法
CN117369730B (zh) * 2023-12-07 2024-02-20 合肥康芯威存储技术有限公司 一种存储器及其控制方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550744A (zh) * 2015-12-06 2016-05-04 北京工业大学 一种基于迭代的神经网络聚类方法
CN109697119A (zh) * 2017-10-20 2019-04-30 中兴通讯股份有限公司 终端内存回收处理方法及装置
CN109857556A (zh) * 2019-01-15 2019-06-07 Oppo广东移动通信有限公司 内存回收方法及装置、存储介质和电子设备

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL182682B (nl) * 1952-11-10 Eastman Kodak Co Werkwijze voor het bereiden van een halfgeleiderverbinding, alsmede halfgeleiderelement dat deze verbinding bevat.
CN102799471B (zh) * 2012-05-25 2014-11-05 上海斐讯数据通信技术有限公司 操作系统的进程回收方法及系统
CN104573420B (zh) * 2014-12-26 2017-04-05 北京奇虎科技有限公司 防止进程被误杀的方法和装置
CN104809244B (zh) * 2015-05-15 2018-02-09 成都睿峰科技有限公司 一种大数据环境下的数据挖掘方法和装置
CN105808447B (zh) * 2016-03-29 2019-01-29 海信集团有限公司 一种终端设备的内存回收方法和装置
CN105975402B (zh) * 2016-04-28 2019-01-18 华中科技大学 一种混合内存环境下淘汰数据感知的缓存方法与系统
CN107885666B (zh) * 2016-09-28 2021-07-20 华为技术有限公司 一种内存管理方法和装置
CN106708615A (zh) * 2016-11-21 2017-05-24 珠海市魅族科技有限公司 一种应用的管理方法及终端
CN110058938B (zh) * 2018-01-19 2023-08-01 斑马智行网络(香港)有限公司 一种内存处理方法、装置、电子设备和可读介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105550744A (zh) * 2015-12-06 2016-05-04 北京工业大学 一种基于迭代的神经网络聚类方法
CN109697119A (zh) * 2017-10-20 2019-04-30 中兴通讯股份有限公司 终端内存回收处理方法及装置
CN109857556A (zh) * 2019-01-15 2019-06-07 Oppo广东移动通信有限公司 内存回收方法及装置、存储介质和电子设备

Also Published As

Publication number Publication date
CN111177024A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111177024B (zh) 一种内存优化处理方法及装置
US10970085B2 (en) Resource management with dynamic resource policies
US9442763B2 (en) Resource allocation method and resource management platform
US10101910B1 (en) Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager
US8195798B2 (en) Application server scalability through runtime restrictions enforcement in a distributed application execution system
US9396030B2 (en) Quota-based adaptive resource balancing in a scalable heap allocator for multithreaded applications
US20160098292A1 (en) Job scheduling using expected server performance information
CN109564528B (zh) 分布式计算中计算资源分配的系统和方法
US10289446B1 (en) Preserving web browser child processes by substituting a parent process with a stub process
CN111258746A (zh) 资源分配方法和服务设备
US9384050B2 (en) Scheduling method and scheduling system for multi-core processor system
US10248321B1 (en) Simulating multiple lower importance levels by actively feeding processes to a low-memory manager
CN113032102A (zh) 资源重调度方法、装置、设备和介质
CN114564281A (zh) 容器调度方法、装置、设备及存储介质
CN110727605A (zh) 内存回收方法、装置以及电子设备
CN112860387A (zh) 分布式任务调度方法、装置、计算机设备及存储介质
EP2983105B1 (en) Electronic device, on-chip memory and method of operating the on-chip memory
CN111857992A (zh) 一种Radosgw模块中线程资源分配方法和装置
CN108885565B (zh) 对游戏模式的操作系统支持
CN113986458A (zh) 容器集合调度方法、装置、设备及存储介质
CN112527451A (zh) 容器资源池的管理方法、装置、设备以及存储介质
CN111858392B (zh) 一种内存空间的分配方法及装置、存储介质、电子装置
WO2012095984A1 (ja) スケジューリング方法及びスケジューリングシステム
CN117519953B (zh) 一种面向服务器无感知计算的分离式内存管理方法
CN111858392A (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Jianguo

Inventor after: Liu Chao

Inventor after: Yin Deshuai

Inventor after: Xu Zhifang

Inventor after: Shen Shunhou

Inventor after: Wang Shoufeng

Inventor after: Xu Jing

Inventor before: Liu Chao

Inventor before: Yin Deshuai

Inventor before: Xu Zhifang

Inventor before: Shen Shunhou

Inventor before: Wang Shoufeng

Inventor before: Xu Jing

GR01 Patent grant
GR01 Patent grant