用于控制电子装置中的存储器资源的方法、用于控制存储器资源的装置、电子装置和计算机程序制造方法及图纸

技术编号:33767066 阅读:27 留言:0更新日期:2022-06-12 14:17
本发明专利技术涉及一种用于控制电子装置的存储器资源的计算机实施的方法,所述方法包括:

【技术实现步骤摘要】
【国外来华专利技术】用于控制电子装置中的存储器资源的方法、用于控制存储器资源的装置、电子装置和计算机程序


[0001]本公开涉及一种用于控制例如机顶盒或移动电话等电子装置的存储器资源的方法。

技术介绍

[0002]当存储器资源已耗尽时,具有有限存储器资源的电子装置无法以可靠的方式运行。
[0003]在安卓情境或在电子装置上运行的任何其它多应用程序系统中,许多应用程序或服务同时运行,每个应用程序或服务都处于运行状态。一个应用程序具有焦点,而其它应用程序在后台运行,做后台工作或等待用户请求时恢复焦点。
[0004]以众所周知的方式,应用程序、服务和/或程序各自由应用程序管理器(AM)影响分数或优先级,AM维护分数并使它们随时间动态地演变,这例如取决于应用程序何时启动,应用程序何时获得或失去焦点以及持续多长时间等。按照本文档中的惯例,分数越高,优先级就越低。
[0005]在这些系统中,称为“低内存管理器(LMK)”或“低内存监测器(Low memory Monitor)”的机构检查内存占用,并且决定杀死一些分数较高的应用程序,以防止可能导致内存分配失败的任何内存不足。
[0006]通常,当达到已用内存的预定阈值时,做出杀死分数较高的应用程序的决策。
[0007]交换空间有时可以用于明显地扩展电子装置的内存。交换空间是用于虚拟存储器的硬盘驱动器(HDD)的部分。虚拟存储器使用HDD上的空间来模拟额外的主存储器。此额外空间用于保存当前在使用中或经常使用的操作系统、程序和数据的部分。在物理上,主存储器由随机存取存储器(RAM)芯片组成,所述RAM芯片组合成模块,所述模块又插入电子装置上的主板(即,主电路板)上的槽中。访问RAM中的不同地址(即,位置)所需的时间非常短且几乎稳定,而访问HDD和其它存储装置上的位置所需的时间较长且变化。
[0008]为了释放存储器中的空间,具有虚拟存储器能力的操作系统将不立即需要的数据从存储器传输到HDD;当再次需要所述数据时,将所述数据复制回存储器中。也就是说,当空闲内存不足时,也就是说如果同时打开多个程序,或者使用一个非常大的程序,启用虚拟存储器的计算机将根据需要将数据交换到HDD并返回存储器,从而实际上增加系统总内存。
[0009]交换空间通常是在安装操作系统期间创建的专用分区(即HDD的逻辑独立区段)。此分区也称为交换分区。然而,交换空间也可以是电子装置的RAM的分区,例如Linux操作系统中称为ZRAM的交换空间。RAM交换空间与交换数据的压缩/解压缩系统地结合使用。例如,使用lz4压缩方法观察到的压缩率通常约为3。就此而言,重要的是理解RAM交换空间大小可以设置为例如1吉字节,但实际上这个值是压缩之前可以输入这个交换空间中的数据的最大大小。因此,交换RAM占用取决于其中输入的内容。例如,输入此RAM交换空间中的300兆字节占用约100兆字节。
[0010]RAM交换空间越大,软件内存就越高。然而,当数据进入交换、从交换中读取或从交换中删除时,通过交换扩展内存大小就CPU而言具有成本。还可以观察到,当交换内存空间接近满时,CPU使用量急剧增加,导致电子装置运行缓慢且卡顿,这会影响用户体验质量。
[0011]当使用交换空间时,在达到预定内存压力时,也可以做出杀死分数较高的应用程序的决策。
[0012]内存压力被定义为已用内存与软件使用的内存之间的比率,以百分比(%)表示。软件使用的内存是由软件分配的RAM的大小,并且已用内存是在通过压缩交换到RAM交换空间中之后实际上从系统获取的RAM空间大小。换句话说,如果不激活交换,则内存压力为100%,然而如果激活交换,则当前内存压力低于例如约80%。两个不同阈值L1和L2(其中L1<L2)可以用于配置LMK做出决策的方式,当内存压力低于L1、在L1与L2之间或高于L2时配置不同的行为。
[0013]然而,这些解决方案具有一些缺点。首先,在达到一个或多个内存阈值时杀死分数较高的应用程序是非常静态的且不适合交换。事实上,当RAM交换空间快满时,电子装置的性能很差,因为数据不断进出交换空间且需要大量的CPU资源。
[0014]其次,基于与内存压力相关的两个阈值来杀死分数较高的应用程序并不有效,因为这些阈值不容易调整。阈值设置对性能的影响取决于RAM交换空间大小,因此很难成为在所有情况下都能正常工作的通用解决方案。
[0015]本专利技术的设计考虑了上述内容。

技术实现思路

[0016]根据本专利技术的第一方面,提供一种用于控制电子装置的存储器资源的计算机实施的方法,所述方法包括:
[0017]‑
设置至少一个内存交换大小限制,所述内存交换大小限制低于称为交换内存空间的内存交换大小,所述内存交换大小限定由所述电子装置用于交换的所述存储器资源的一部分的最大大小;以及
[0018]‑
获得在所述电子装置上运行的多个程序中的每个程序的分数,高分数对应于低优先级水平;
[0019]‑
获得监测信息,所述信息属于包括以下项的群组:
[0020]ο表示在预定时间段期间程序的所监测活动的信息,
[0021]ο表示习得的用户使用所述程序的习惯的信息,所述信息包括所述程序在预定时间段内获得焦点的次数;
[0022]‑
从所述监测信息导出动态分数增量,所述动态分数增量为正或负,在程序获得的每个焦点处将分数递减值应用于所述动态分数增量;
[0023]‑
通过将所述动态分数增量添加到所获得分数来调整所述至少一个程序的所获得分数;以及
[0024]‑
当达到所述内存交换大小限制并且与所述程序相关联的所述调整后分数等于或高于与所述达到的内存交换大小限制相关联的优先级阈值时,终止执行所述多个程序中的程序。
[0025]通过上述方法,不会超出或仅在短时间内超出交换大小限制。因此,此种解决方案
避免具有使装置变慢的几乎满的交换内存空间。
[0026]因此,本专利技术的方法向电子装置的最终用户提供更好的体验质量,因为电子装置的存储器资源以某种方式管理,使得避免交换空间几乎满或已满并且CPU高度忙于从交换内存输入和输出数据的情况。因此,在不减慢电子装置速度的情况下,可以确保交换的可靠运行。
[0027]有利地,分数由应用管理器设置并且通知给实施所述方法的装置。
[0028]通过上述方法,可以根据实际使用情况的监测或事先了解用户的习惯,以动态的方式给出偏好。
[0029]例如,可能更喜欢经常使用的应用程序。通过重点测量时间,与长时间使用的应用程序相比,例如天气预报的短时间使用的应用程序可能更受喜欢。相反地,启动时间长的应用程序可能不受喜欢。
[0030]基于任何ID(账户ID、人脸识别、输入代码、向用户提出的问题)或在一段时间内(一天或一周)或从启动开始,此种学习通常可以针对装置进行,而不管用户如何,或者相反地针对使用此装置的每个用户进行。
[0031]同本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于控制电子装置的存储器资源的计算机实施的方法,所述方法包括:

设置(35)至少一个内存交换大小限制(SL),所述内存交换大小限制低于称为交换内存空间的内存交换大小,所述内存交换大小限定由所述电子装置用于交换的所述存储器资源的一部分的最大大小;以及

获得(37)在所述电子装置上运行的多个程序中的每个程序的分数,高分数对应于低优先级水平;

获得监测信息(I
Monit
),所述信息属于包括以下项的群组:ο表示在预定时间段期间所述程序的所监测活动的信息,ο表示习得的用户使用所述程序的习惯的信息,所述信息包括所述程序在所述预定时间段内获得焦点的次数;

从所述监测信息导出动态分数增量,所述动态分数增量为正或负,在所述程序获得的每个焦点处将分数递减值应用于所述动态分数增量;

通过将所述动态分数增量添加到所述所获得分数来调整所述至少一个程序的所述所获得分数(AM

SC);以及

当达到所述内存交换大小限制(SL)并且与所述至少一个程序相关联的所述调整后分数等于或高于与所述达到的内存交换大小限制相关联的所述优先级阈值(PT)时,终止(38)执行所述多个程序中的至少一个程序。2.根据权利要求1所述的计算机实施的方法,所述方法进一步包括:

获得(33)包括在预定时间段期间已用内存交换空间量的所监测信息,所述电子装置根据称为swappiness的配置值使用交换,所述swappiness定义所述电子装置将内容复制到所述交换内存空间的数量和频率,所述swappiness越高,使用的交换就越多;以及

使用所述所监测信息调整所述swappiness,当所述所监测信息低于预定阈值时减小所述swappiness,并且当所述所监测信息超过所述阈值时增加所述swappiness。3.根据权利要求1或2中任一项所述的计算机实施的方法,其中所述方法进一步包括当未达到所述内存交换大小限制(SL)时:

获得(36)已用交换内存(US)的水平;

获得低于所述内存交换大小限制(SL)的至少一个中间内存交换大小限制(ISL),以及相关联的中间优先级阈值(IPT);以及

当所述已用交换内存(US)的水平已达到所述中间内存交换大小限制(ISL)时,终止(38)分数等于或高于所述相关联中间优先级阈值的至少一个程序。4.根据权利要求1至3中任一项所述的计算机实施的方法,其中所述方法进一步包括对于所述多个程序:

获得配置信息(IConf),所述信息属于包括以下项的群组:ο工厂嵌入式程序列表,包括每个程序的相关联分数增量;ο喜欢和/或不喜欢的程序列表,包括每个程序的相关联分数增量;ο焦点处的程序的分数递减值;

将所述配置信息存储在存储器中,

对于所述多个程序中的至少一个程序,从所述相关联分数增量导出静态分数增量;

通过将所述静态分数增量添加到所述所获得分数来调整所述所获得分数(AM

SC),以


所述终止包括基于所述调整后的分数决定终止所述多个程序中的程序。5.根据权利要求4所述的计算机实施的方法,其中所述调整包括通过将所述静态分数增量和所述动态分数增量添加到所述所获得分数(AM
‑<...

【专利技术属性】
技术研发人员:布鲁诺
申请(专利权)人:汤姆逊许可公司
类型:发明
国别省市:

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

1