一种内存优化处理方法及装置制造方法及图纸

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

A memory optimized processing method and device

【技术实现步骤摘要】
一种内存优化处理方法及装置
本专利技术涉及通信领域,具体而言,涉及一种内存优化处理方法及装置。
技术介绍
随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部分,广泛应用到生产生活的各个领域,例如工业控制、航空航天、医疗仪器、消费电子等等。并且使用者(或消费者)对嵌入式系统的需求不断提高,例如界面友好、功能丰富、智能化、实时性等等。在嵌入式系统中,总内存的大小是有限的,但是随着应用软件的不断增加,大量的进程对系统内存资源的需求也会增加,从而出现系统内存需求超过系统内存总量。现有技术中,在当出现系统内存需求超过系统运行最大内存占用限制时,优化嵌入式系统中的内存的主要方式有随机杀掉一些进程的方式。随机杀掉进程的方式,多为根据进程的重要性确定,重要程度高的进程则被杀掉的概率最小,重要程度低的进程则被杀掉的概率最大,例如,可以通过系统中的低内存管理工具LowMemoryKiller(LMK)实现,LMK主要是通过进程的oom_adj来判定进程的重要程度,oom_adj值越小,程序越重要,被杀的可能性越低。随机杀掉进程的方式,由于LMK杀掉后台进程后会触发系统自身的进程调度策略,但这却是十分消耗系统资源的操作,特别是在当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率。针对相关技术中随机杀掉进程的方式,当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率的问题,尚未提出解决方案。
技术实现思路
r>本专利技术实施例提供了一种内存优化处理方法及装置,以至少解决相关技术中随机杀掉进程的方式,当进程反复重启,并频繁向系统申请内存时,会导致系统整体性能的下降,从而影响系统的整体运行效率的问题。根据本专利技术的一个实施例,提供了一种内存优化处理方法,包括:将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;通过页面回收进程仅对所述内存空间的置换区域进行内存优化。可选地,将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域包括:根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域。可选地,根据所述任务的重要性和实时性确定任务的综合指标包括:获取所述系统中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个任务的级别权重值:其中,ki为任务i的级别权重值,ti为所述任务i的执行反馈时间,1≤i≤N,为调整系数;选取大于或等于第一预设阈值的j个任务作为所述M个聚类中心。可选地,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:判断是否达到预设空闲间隔时间;在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化。可选地,在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:在达到所述预设空闲间隔时间的情况下,对系统运行进行监控;在所述系统的内存空间的剩余内存空间大于或等于第二预设阈值时,判断所述页面回收进程当前扫描的内存空间是否为置换区域;在所述当前扫描的内存空间为所述置换区域的情况下,通过所述页面回收进程对所述内存空间的置换区域进行内存优化;在所述当前扫描的内存空间为所述非置换区域的情况下,通过页面回收进程跳过所述非置换区域,对所述非置换区域之外的内存空间进行扫描。可选地,在未达到所述预设空闲间隔时间的情况下,若所述系统的内存空间的剩余内存空间小于第二预设阈值,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:在未达到所述预设空闲间隔时间且所述系统的内存空间的剩余内存空间小于所述第二预设阈值的情况下,确定目标任务执行所分配的内存页面是否存储于所述置换区域;若所述目标任务执行所分配的内存页面存储于所述置换区域,通过页面回收进程对所述内存空间的置换区域进行内存优化;若所述目标任务执行所分配的内存页面存储于所述非置换区域,直接从所述非置换区域中将所述目标任务执行所分配的内存页面分配给所述目标任务。可选地,通过页面回收进程仅对所述内存空间的置换区域进行内存优化包括:对所述置换区域的inactive链表进行扫描,其中,所述inactive链表上存放有处于非活跃状态的页面;从所述inactive链表的尾部开始查找,将预定时间内使用频率最少的内存页面从所述内存空间置换到磁盘空间,进行内存页面回收。根据本专利技术的另一个实施例,还提供了一种内存优化处理装置,包括:划分模块,用于将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;载入模块,用于将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;内存优化模块,用于通过页面回收进程仅对所述内存空间的置换区域进行内存优化。可选地,所述载入模块包括:确定子模块,用于根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;载入子模块,用于将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域。可选地,所述确定子模块包括:本文档来自技高网...

【技术保护点】
1.一种内存优化处理方法,其特征在于,包括:/n将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;/n将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;/n通过页面回收进程仅对所述内存空间的置换区域进行内存优化。/n

【技术特征摘要】
1.一种内存优化处理方法,其特征在于,包括:
将系统的内存空间划分出预定大小的非置换区域,其中,所述内存空间包括所述非置换区域和除所述非置换区域之外的置换区域;
将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域;
通过页面回收进程仅对所述内存空间的置换区域进行内存优化。


2.根据权利要求1所述的方法,其特征在于,将重要程度满足预定条件的任务执行所分配的内存页面载入所述非置换区域包括:
根据所述任务的重要性和实时性确定任务的综合指标,其中,所述综合指标用于指示所述任务的重要程度;
将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域。


3.根据权利要求2所述的方法,其特征在于,根据所述任务的重要性和实时性确定任务的综合指标包括:
获取所述系统中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个聚类集合的综合指标总和。


4.根据权利要求3所述的方法,其特征在于,将所述综合指标满足预定条件的任务执行所分配的内存页面载入所述非置换区域包括:
将所述综合指标总和最大的聚类集合中的任务执行所分配的内存页面载入所述非置换区域。


5.根据权利要求3所述的方法,其特征在于,根据所述N个任务的执行反馈时间确定M个聚类中心包括:
通过以下方式计算所述N个任务的级别权重值:

其中,ki为任务i的级别权重值,ti为所述任务i的执行反馈时间,1≤i≤N,为调整系数;
选取大于或等于第一预设阈值的j个任务作为所述M个聚类中心。


6.根据权利要求1所述的方法,其特征在于,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化包括:
判断是否达到预设空闲间隔时间;
在达到所述预设空闲间隔时间的情况下,通过所述页面回收进程仅对所述内存空间的置换区域进行内存优化;
在未达到所述预设空闲间隔时间的情况下,若所述系统...

【专利技术属性】
技术研发人员:刘超尹德帅徐志方沈顺厚王守峰徐静
申请(专利权)人:青岛海尔科技有限公司
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1