调整内存配置参数的方法和装置制造方法及图纸

技术编号:32609067 阅读:9 留言:0更新日期:2022-03-12 17:34
本申请提供了一种调整内存配置参数的方法和装置。该方法包括:获取多个资源压力,所述多个资源压力用于指示对内存压缩的多种需求;根据所述多个资源压力调整内存配置参数,所述内存配置参数与所述多个资源压力之间存在预设的对应关系。资源压力例如是处理器压力、I/O压力、内存回收压力或内存交换空间压力,不同类型的资源压力对应的内存压缩需求不同,申请提供的调整内存的方法综合考虑多种信息,能够实现系统性能最优,提高管理内存的效果。提高管理内存的效果。提高管理内存的效果。

【技术实现步骤摘要】
调整内存配置参数的方法和装置


[0001]本申请涉及存储领域,具体涉及一种调整内存配置参数的方法和装置。

技术介绍

[0002]内存(memory)是计算机的组成部分,当计算机运行程序时,与程序运行相关的数据可以暂时存放在内存中,等待处理器调用。若内存资源不足,则处理器可能需要等待一段时间才能获取程序运行所需的数据,因此,内存资源的使用情况与程序运行情况(如启动速率)存在关联关系。
[0003]为了提高内存资源利用率,需要对内存资源的使用情况进行管理。一种管理内存资源的方法是基于可用内存的大小调整内存,例如,当可用内存小于预设值时,可以提高额外空闲内存配置参数(extra_free_kbytes)的数值,以促使内存管理模块更积极地回收内存来满足程序对内存资源的需求。但是,应用该方法管理内存的效果仍有待提高。

技术实现思路

[0004]本申请提供了一种调整内存配置参数的方法、装置、计算机程序产品和计算机可读存储介质,能够提高内存管理的效果。
[0005]第一方面,提供了一种调整内存的方法,包括:获取多个资源压力,所述多个资源压力用于指示对内存压缩的多种需求;根据所述多个资源压力调整内存配置参数,所述内存配置参数与所述多个资源压力之间存在预设的对应关系。
[0006]资源压力例如是处理器压力、输入输出(input/output,I/O)压力、内存回收压力或内存交换空间压力,其中,处理器压力、I/O压力和内存回收压力可以分别由处理器压力失速信息(pressure stall information,PSI)、I/O PSI和内存回收PSI确定,内存交换空间压力可以由可用交换空间(swap free)和/或匿名页数量(anon pages)确定。不同类型的资源压力对应的内存压缩需求不同,基于一种类型的资源压力调整内存配置参数难以实现系统性能最优,例如,当swap free较低并且anon pages较低时,说明zRAM(内存压缩技术的一个示例)的使用收益不大,此时应当减小内存交换参数(swappiness)的值,以减小zRAM的使用频率;但是,若I/O压力较大,则应当增大swappiness的值,较大的swappiness能够提高zRAM的使用频率,从而回收更多的anon pages,避免内存不足时文件页(file page)被过量回收导致的I/O压力持续增大,其中,I/O压力持续增大原因是:file page过量回收会导致缓存(cache)命中率下降,file page需要再次从磁盘读入cache,重读入(refault)I/O现象增多,refault I/O会导致I/O压力持续增大;综合考虑上述两种信息,swappiness需要设置一个合适的值以平衡内存交换空间压力和I/O压力,使得系统性能最优。相比于基于一种信息调整内存,本申请提供的调整内存的方法综合考虑多种信息,能够实现系统性能最优,提高管理内存的效果。
[0007]可选地,所述内存配置参数包括swappiness,所述多个资源压力包括I/O压力和内存交换空间压力,所述根据所述多个资源压力调整内存配置参数,包括:当所述I/O压力减
小时,并且,当所述内存交换空间压力减小时,减小所述内存交换参数;或者,当所述I/O压力增大时,并且,当所述内存交换空间压力减小时,将所述内存交换参数调整为预设值。
[0008]swap free反映了zRAM设备的剩余容量,anon pages反映了能够输入zRAM设备的数据的数据量,当swap free较低和/或anon pages较低(即,内存交换空间压力较小)时,zRAM的使用收益不大,可以减小zRAM的使用频率。当I/O压力较小时,可以减小zRAM的使用频率以节约运算资源,综合考虑内存交换空间压力和I/O压力,可以减小swappiness的值,从而实现系统性能最优,提高管理内存的效果。
[0009]当swap free较低和/或anon pages较低(即,内存交换空间压力较小)时,zRAM的使用收益不大,可以减小zRAM的使用频率。当I/O压力较大时,应当增大swappiness的值,较大的swappiness能够提高zRAM的使用频率,从而回收更多的anon pages,避免内存不足时file page过量回收导致I/O压力持续增大。可以将swappiness设置一个合适的值(如,预设值)以平衡内存交换空间压力和I/O压力,从而实现系统性能最优,提高管理内存的效果。
[0010]可选地,所述内存配置参数包括swappiness,所述多个资源压力包括处理器压力和内存交换空间压力,所述根据所述多个资源压力调整内存配置参数,包括:当所述处理器压力减小时,并且,当所述内存交换空间压力增大时,增大所述swappiness。
[0011]处理器压力较小时,增大swappiness可以减小内存不足时缓存颠簸发生的概率,同时不会影响其他任务的运算资源需求;内存交换空间压力较大时,说明使用zRAM的使用收益较大,应当增大swappiness。综合考虑处理器压力和内存交换空间压力,可以增大swappiness的值以提高zRAM的使用频率,从而实现系统性能最优,提高管理内存的效果。
[0012]可选地,所述内存配置参数包括swappiness,所述多个资源压力包括处理器压力和I/O压力,所述根据所述多个资源压力调整内存配置参数,包括:当所述I/O压力减小时,并且,当所述处理器压力增大时,减小所述内存交换参数;或者,当所述I/O压力增大时,并且,当所述处理器压力增大时,将所述内存交换参数调整为预设值。
[0013]当I/O压力较小时,可以减小zRAM的使用频率以节约运算资源;当处理器压力较大时,说明当前运算压力较大,应当减小swappiness以节约运算资源;综合考虑I/O压力和处理器压力,可以减小swappiness以节约运算资源,从而实现系统性能最优,提高管理内存的效果。
[0014]当I/O压力较大时,应当增大swappiness的值,较大的swappiness能够提高zRAM的使用频率,从而回收更多的anon pages,避免内存不足时file page过量回收导致I/O压力持续增大;当处理器压力较大时,应当减小swappiness以节约运算资源;可以将swappiness设置一个合适的值(如,预设值)以平衡I/O压力和处理器压力,从而实现系统性能最优,提高管理内存的效果。
[0015]可选地,所述根据所述多个资源压力调整内存配置参数,包括:当场景信息指示的当前应用运行场景不符合预设场景时,根据所述多个资源压力调整所述内存配置参数。
[0016]场景信息例如是指示应用启动或应用切换的信息。当预设场景是应用启动场景时,应用启动场景的各种资源需求比较固定,按照预设的swappiness调整内存即可实现系统性能最优,无需再收集PSI和内存交换空间压力信息进行运算,从而减小了内存调整的复杂度。
[0017]可选地,所述方法还包括:当内存回收压力增大本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种调整内存配置参数的方法,其特征在于,包括:获取多个资源压力,所述多个资源压力用于指示对内存压缩的多种需求;根据所述多个资源压力调整内存配置参数,所述内存配置参数与所述多个资源压力之间存在预设的对应关系。2.根据权利要求1所述的方法,其特征在于,所述内存配置参数包括内存交换参数,所述多个资源压力包括输入/输出压力和内存交换空间压力,所述根据所述多个资源压力调整内存配置参数,包括:当所述输入/输出压力减小时,并且,当所述内存交换空间压力减小时,减小所述内存交换参数;或者,当所述输入/输出压力增大时,并且,当所述内存交换空间压力减小时,将所述内存交换参数调整为预设值。3.根据权利要求1所述的方法,其特征在于,所述内存配置参数包括内存交换参数,所述多个资源压力包括处理器压力和内存交换空间压力,所述根据所述多个资源压力调整内存配置参数,包括:当所述处理器压力减小时,并且,当所述内存交换空间压力增大时,增大所述内存交换参数。4.根据权利要求2或3所述的方法,其特征在于,所述内存交换空间压力的大小与匿名页数量正相关。5.根据权利要求2至4中任一项所述的方法,其特征在于,所述内存交换空间压力的大小与可用交换空间的大小正相关。6.根据权利要求1所述的方法,其特征在于,所述内存配置参数包括内存交换参数,所述多个资源压力包括处理器压力和输入/输出压力,所述根据所述多个资源压力调整内存配置参数,包括:当...

【专利技术属性】
技术研发人员:胡扬袁晓峰罗翔李志卫窦泽飞
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

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

1