内存回收的方法及电子设备技术

技术编号:35404569 阅读:33 留言:0更新日期:2022-11-03 10:57
本申请提供了一种内存回收的方法及电子设备,该方法应用于包括处理器、内存设备和交换设备的电子设备,处理器运行的应用包括待处理应用,该方法包括:根据待处理应用的换入率和第一映射关系,确定待处理应用的当前后台活跃度,换入率为交换设备中待处理应用对应的匿名页换入到内存设备中的数量占待处理应用对应的匿名页的总数量的百分比,第一映射关系包括多个换入率与多个后台活跃度的对应关系;根据当前后台活跃度,更新待处理应用的当前回收率阈值,回收率为交换设备中待处理应用对应的匿名页占待处理应用对应的匿名页的总数量的百分比;根据更新后的当前回收率阈值,对待处理应用进行内存回收。进而减小内存回收的浪费,降低内存回收的开销。降低内存回收的开销。降低内存回收的开销。

【技术实现步骤摘要】
内存回收的方法及电子设备


[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]第二方面,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存回收的方法,其特征在于,所述方法应用于包括处理器、内存设备和交换设备的电子设备中,所述处理器运行的应用包括待处理应用,所述方法包括:根据所述待处理应用的换入率和第一映射关系,确定所述待处理应用的当前后台活跃度,所述换入率为交换设备中所述待处理应用对应的匿名页换入到内存设备中的数量占所述待处理应用对应的匿名页的总数量的百分比,所述第一映射关系包括多个换入率与多个后台活跃度的对应关系;根据所述当前后台活跃度,更新所述待处理应用的当前回收率阈值,回收率为交换设备中所述待处理应用对应的匿名页占所述待处理应用对应的匿名页的总数量的百分比;根据更新后的当前回收率阈值,对所述待处理应用进行内存回收。2.根据权利要求1所述的方法,其特征在于,所述根据所述当前后台活跃度,更新所述待处理应用的当前回收率阈值,包括:确定所述待处理应用的历史后台活跃度;根据所述当前后台活跃度和所述历史后台活跃度,更新所述待处理应用的当前回收率阈值。3.根据权利要求2所述的方法,其特征在于,所述根据所述当前后台活跃度和所述历史后台活跃度,更新所述待处理应用的当前回收率阈值,包括:确定所述当前后台活跃度大于所述历史后台活跃度;将第一回收率阈值确定为所述更新后的当前回收率阈值,所述第一回收率阈值小于所述当前回收率阈值。4.根据权利要求2所述的方法,其特征在于,所述根据所述当前后台活跃度和所述历史后台活跃度,更新所述待处理应用的当前回收率阈值,包括:确定所述当前后台活跃度小于所述历史后台活跃度;确定所述待处理应用的当前回收率,所述当前回收率为所述交换设备中的匿名页的数量占总的匿名页的总数量的百分比;确定所述当前回收率大于或等于所述当前回收率阈值;将第二回收率阈值确定为所述更新后的当前回收率阈值,所述第二回收率阈值大于所述当前回收率阈值。5.根据权利要求4所述的方法,其特征在于,所述待处理应用对应的内存控制子系统包括匿名页统计字段,所述确定所述待处理应用的当前回收率包括:根据所述匿名页统计字段,确定所述当前回收率。6.根据权利要求2至5中任一项所述的方法,其特征在于,所述后台活跃度和所述回收率阈值呈负相关关系。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述后台活跃度和所述换入率呈正相关关系。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述待处理应用对应的内存控制子系统包括换入量统计字段,所述方法还包括:根据所述换入量统计字段,确定所述换入率。9.一种电子设备,其特征在于,所述电子设备包括处理单元,内存设备和交换设备,所述处理单元运行的应用包括待处理应用,
所述处理单元,用于:根据所述待处理应用的换入率和第一映射关系,确定所述待处理应用的当前后台活跃度,所述换入率为交换设备中所述待处理应用对应的匿名页换入到内存设备中的数量占所述待处理应用对应的匿名页的总...

【专利技术属性】
技术研发人员:俞熠
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1