内存管理方法、装置、设备、计算机程序及存储介质制造方法及图纸

技术编号:38465946 阅读:8 留言:0更新日期:2023-08-11 14:43
本申请提供了一种内存管理方法、装置、设备、计算机程序及存储介质。本申请实施例可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景,方法包括:在当前采样周期的当前次采样过程中,通过对当前进程对应的工作集进行尺寸信息采样,得到当前采样信息,并获取工作集对应的当前运行区间;在通过对比当前采样信息与当前运行区间,确定当前运行区间满足预设裁剪条件,且达到预设采样次数的情况下,获取工作集的当前尺寸信息与当前进程对应的提交内存;基于当前尺寸信息与提交内存,计算裁剪尺寸;根据裁剪尺寸对当前运行区间进行裁剪,利用裁剪后的运行区间运行当前进程。通过本申请,能够优化应用程序的内存占用,提高内存管理的效率。理的效率。理的效率。

【技术实现步骤摘要】
内存管理方法、装置、设备、计算机程序及存储介质


[0001]本申请涉及计算机技术,尤其涉及一种内存管理方法、装置、设备、计算机程序及存储介质。

技术介绍

[0002]目前,内存占用成为评价各个应用或服务的重要性能指标。相关技术通常是通过手动设置应用或服务中的进程所占用的工作集的大小,来控制进程的内存占用。然而,由于进程在执行过程中占用的工作集是随时变化的,相关技术的方法难以及时地发现工作集也即内存占用的不合理的情况,并进行及时地处理,从而降低了内存管理的效率。

技术实现思路

[0003]本申请实施例提供一种内存管理方法、装置、设备、计算机程序及存储介质,能够优化应用程序的内存占用,提高内存管理的效率。
[0004]本申请实施例的技术方案是这样实现的:
[0005]本申请实施例提供一种内存管理方法,包括:
[0006]在当前采样周期的当前次采样过程中,通过对当前进程对应的工作集进行尺寸信息采样,得到当前采样信息,并获取所述工作集对应的当前运行区间;所述当前运行区间包括最小工作集与最大工作集;
[0007]在通过对比所述当前采样信息与所述当前运行区间,确定所述当前运行区间满足预设裁剪条件,且达到预设采样次数的情况下,获取所述工作集的当前尺寸信息与所述当前进程对应的提交内存;
[0008]基于所述当前尺寸信息与所述提交内存,计算裁剪尺寸;
[0009]根据所述裁剪尺寸对所述当前运行区间进行裁剪,利用裁剪后的运行区间运行所述当前进程。
[0010]本申请实施例提供一种内存管理装置,包括:
[0011]采样模块,用于在当前采样周期的当前次采样过程中,通过对当前进程对应的工作集进行尺寸信息采样,得到当前采样信息,并获取所述工作集对应的当前运行区间;所述当前运行区间包括最小工作集与最大工作集;
[0012]判定模块,用于在通过对比所述当前采样信息与所述当前运行区间,确定所述当前运行区间满足预设裁剪条件,且达到预设采样次数的情况下,获取所述工作集的当前尺寸信息与所述当前进程对应的提交内存;
[0013]计算模块,用于基于所述当前尺寸信息与所述提交内存,计算裁剪尺寸;
[0014]裁剪模块,用于根据所述裁剪尺寸对所述当前运行区间进行裁剪,利用裁剪后的运行区间运行所述当前进程。
[0015]上述装置中,所述判定模块,还用于获取波动阈值;所述波动阈值表征所述工作集在所述当前进程的运行过程中出现的最大波动;在所述当前采样信息小于所述最小工作集
的情况下,利用所述当前采样信息,更新所述最小工作集与所述波动阈值;在所述当前采样信息大于所述最大工作集的情况下,利用所述当前采样信息,更新所述最大工作集;在所述最小工作集与所述波动阈值之和,大于或等于所述最大工作集的情况下,确定所述当前运行区间满足所述预设裁剪条件。
[0016]上述装置中,所述采样模块,还用于在所述当前次采样过程为首次采样的情况下,获取历史采样周期中的历史采样信息;所述首次采样表征在所述当前采样周期中的第一次采样;根据所述历史采样信息与所述当前采样信息,得到所述最大工作集与所述最小工作集。
[0017]上述装置中,所述内存管理装置还包括记录模块,所述记录模块,用于在确定所述当前运行区间满足所述预设裁剪条件,且未达到所述预设采样次数的情况下,记录所述当前运行区间,并进行所述当前采样周期中的下一次采样过程;所述判定模块,还用于在所述下一次采样过程中,获取记录的所述当前运行区间,根据所述下一次采样过程对应的采样信息,对所述记录的当前运行区间进行对比与更新,通过所述预设采样次数的采样过程,对所述记录的当前运行区间进行迭代更新。
[0018]上述装置中,所述计算模块,还用于在所述最小工作集与所述波动阈值之和,小于所述最大工作集的情况下,对所述工作集重新采样,并根据采样结果重新计算所述最大工作集、所述最小工作集与所述波动阈值,进入下一次采样周期。
[0019]上述装置中,所述判定模块,还用于在所述当前采样信息小于预设最小尺寸阈值的情况下,结束所述当前次采样过程,进入所述当前采样周期中的下一次采样过程。
[0020]上述装置中,所述裁剪模块,还用于在所述当前尺寸信息大于所述预设最小尺寸阈值的情况下,根据所述当前尺寸信息与预设初始裁剪比例,计算初始裁剪尺寸;根据预设调整上限比例与所述提交内存,得到调整上限值,并根据预设调整下限比例与所述提交内存,得到调整下限值;在所述当前尺寸信息小于所述调整上限值,且大于所述调整下限值的情况下,根据所述调整上限值、所述调整下限值与所述当前尺寸信息,计算当前裁剪比例;根据所述当前裁剪比例对初始裁剪尺寸进行更新,得到中间裁剪尺寸;在所述中间裁剪尺寸大于预设最小裁剪尺寸,且小于预设最大裁剪尺寸的情况下,将所述中间裁剪尺寸作为所述裁剪尺寸。
[0021]上述装置中,所述裁剪模块,还用于所述得到中间裁剪尺寸之后,在所述中间裁剪尺寸小于或等于所述预设最小裁剪尺寸的情况下,将所述预设最小裁剪尺寸作为所述裁剪尺寸;在所述中间裁剪尺寸大于或等于所述预设最大裁剪尺寸的情况下,将所述预设最大裁剪尺寸作为所述裁剪尺寸。
[0022]上述装置中,所述裁剪模块,还用于计算所述当前尺寸信息与所述调整下限值之间的第一差值,以及所述调整上限值与所述调整下限值之间的第二差值;计算所述第一差值与所述第二差值的比值,作为所述当前裁剪比例。
[0023]上述装置中,所述裁剪模块,还用于在所述当前尺寸信息小于或等于所述预设最小尺寸阈值的情况下,将预设最小裁剪尺寸作为所述裁剪尺寸;在所述当前尺寸信息大于或等于所述调整上限值的情况下,不进行剪裁;在所述当前尺寸信息小于或等于所述调整下限值的情况下,将预设最小裁剪尺寸作为所述裁剪尺寸。
[0024]上述装置中,所述裁剪模块,还用于所述根据所述裁剪尺寸对所述当前运行区间
进行裁剪,利用裁剪后的运行区间继续运行所述当前进程之后,在所述当前进程的运行过程中,通过下一个采样周期,继续对所述当前进程的运行区间进行裁剪。
[0025]本申请实施例提供一种电子设备,包括:
[0026]存储器,用于存储可执行指令;
[0027]处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的内存管理方法。
[0028]本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的内存管理方法。
[0029]本申请实施例提供一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现本申请实施例提供的内存管理方法。
[0030]本申请实施例具有以下有益效果:
[0031]通过对当前进程对应的工作集进行至少一次采样,得到每次采样对应的当前采样信息,以及工作集对应的当前运行区间,可以通过对比表征进程实时内存占用情况的当前采样信息与运行区间,在确定当前运行区间满足预设调整条件,也即当前进程的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:在当前采样周期的当前次采样过程中,通过对当前进程对应的工作集进行尺寸信息采样,得到当前采样信息,并获取所述工作集对应的当前运行区间;所述当前运行区间包括最小工作集与最大工作集;在通过对比所述当前采样信息与所述当前运行区间,确定所述当前运行区间满足预设裁剪条件,且达到预设采样次数的情况下,获取所述工作集的当前尺寸信息与所述当前进程对应的提交内存;基于所述当前尺寸信息与所述提交内存,计算裁剪尺寸;根据所述裁剪尺寸对所述当前运行区间进行裁剪,利用裁剪后的运行区间运行所述当前进程。2.根据权利要求1所述的方法,其特征在于,通过对比所述当前采样信息与所述当前运行区间,确定所述当前运行区间满足预设裁剪条件,包括:获取波动阈值;所述波动阈值表征所述工作集在所述当前进程的运行过程中出现的最大波动;在所述当前采样信息小于所述最小工作集的情况下,利用所述当前采样信息,更新所述最小工作集与所述波动阈值;在所述当前采样信息大于所述最大工作集的情况下,利用所述当前采样信息,更新所述最大工作集;在所述最小工作集与所述波动阈值之和,大于或等于所述最大工作集的情况下,确定所述当前运行区间满足所述预设裁剪条件。3.根据权利要求2所述的方法,其特征在于,所述获取所述工作集对应的当前运行区间,包括:在所述当前次采样过程为首次采样的情况下,获取历史采样周期中的历史采样信息;所述首次采样表征在所述当前采样周期中的第一次采样;根据所述历史采样信息与所述当前采样信息,得到所述最大工作集与所述最小工作集。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在确定所述当前运行区间满足所述预设裁剪条件,且未达到所述预设采样次数的情况下,记录所述当前运行区间,并进行所述当前采样周期中的下一次采样过程;在所述下一次采样过程中,获取记录的所述当前运行区间,根据所述下一次采样过程对应的采样信息,对所述记录的当前运行区间进行对比与更新,通过所述预设采样次数的采样过程,对所述记录的当前运行区间进行迭代更新。5.根据权利要求2所述的方法,其特征在于,所述方法还包括:在所述最小工作集与所述波动阈值之和,小于所述最大工作集的情况下,对所述工作集重新采样,并根据采样结果重新计算所述最大工作集、所述最小工作集与所述波动阈值,进入下一次采样周期。6.根据权利要求5所述的方法,其特征在于,所述方法还包括:在所述当前采样信息小于预设最小尺寸阈值的情况下,结束所述当前次采样过程,进入所述当前采样周期中的下一次采样过程。
7.根据权利要求1

6任一项所述的方法,其特征在于,所述基于所述当前尺寸信息与所述提交内存,计算裁剪尺寸,包括:在所述当前尺寸信息大于所述预设最小尺寸阈值的情况下,根据所述当前尺寸信息与预设初始裁剪比例,计算初始裁剪尺寸;根据预设调整上限比例与所述提交内存,得到调整上限值,并根据预设调整下限比例与所述提交内存,得到调整下限值;在所述当前尺寸...

【专利技术属性】
技术研发人员:罗谷才杨传辉
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

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

1