一种内存管理方法及电子设备与流程

文档序号:36253734发布日期:2023-12-03 09:40阅读:42来源:国知局
一种内存管理方法及电子设备与流程

本申请涉及存储,尤其涉及一种内存管理方法及电子设备。


背景技术:

1、内存也称内存储器或主存储器,用于暂时存放中央处理器(central processingunit,cpu)的运算数据,以及与硬盘等外存储器交换的数据,是外存储器与cpu之间进行沟通的桥梁,所有程序运行都在内存中进行。由于内存容量的限制,电子设备的操作系统通常设置有内存回收机制:当内存紧张时,操作系统可通过回收部分已被占用的内存空间以满足新的内存分配请求。内存回收的对象主要分为匿名页(anonymous page)和文件页(file-backed page)。匿名页是没有文件背景的页面,如堆,栈,数据段等。文件页是与磁盘文件存在映射关系的内存页(有文件背景的页面),例如进程代码段、文件的映射页等。

2、在现有技术中,操作系统的内核可以基于最近最少使用(least recently used,lru)链表进行内存页(包括文件页和内存页)回收。但这种方法容易出现已经加载的文件被换出后又需要从磁盘中加载该文件导致的卡顿现象,既降低了应用流畅度,又影响用户的使用体验。


技术实现思路

1、本申请实施例提供一种内存管理方法及电子设备,用于解决已经加载的文件被换出后又需要从磁盘中加载该文件导致的卡顿现象。

2、为达到上述目的,本申请的实施例采用如下技术方案:

3、第一方面,本申请提供一种内存管理方法,应用于电子设备,电子设备中运行有一个或多个应用,电子设备包括每个处于运行状态的应用对应的内存页面链表,每个内存页面链表包括对应应用的全部文件页,方法包括:确定电子设备满足内存回收条件;回收电子设备的一个或多个内存页面链表中的第一目标内存页面链表中的全部文件页,其中,第一目标内存页面链表包括一个或多个应用中优先级最低的应用对应的内存页面链表。可以理解地,优先级最低的应用其活跃度最低,即将来被用户访问的概率最低,因此该应用的内存页(包括文件页和匿名页)被用户访问的概率最低。在这种情况下,将优先级最低的应用对应的文件lru链表作为目标文件lru链表,并回收目标文件lru链表中的全部文件页,可以在回收内存空间的同时,保证其他活跃应用的文件页不被回收,进而减少由于活跃应用的文件页被回收后又需要重新读取文件导致的卡顿问题,提升用户体验。

4、在第一方面提供的一种实施方式中,每个内存页面链表还包括对应应用的全部匿名页;在确定电子设备满足内存回收条件之后,方法还包括:回收第一目标内存页面链表中的全部匿名页。如此,可以在回收内存空间的同时,可以保证其他活跃应用的匿名页不被换出,进而减少由于活跃应用的匿名页被换出后又很快被换入导致的系统颠簸,提升系统流畅度。

5、在第一方面提供的一种实施方式中,所述方法还包括:根据每个处于运行状态的应用的运行状态信息、历史运行信息以及使用顺序信息,获取对应应用的状态分数,其中,应用的运行状态信息用于指示该应用的运行状态,应用的历史运行信息包括用户对对应应用的使用习惯的数据,应用的使用顺序信息用于指示对应应用与用户交互的顺序;根据每个应用的状态分数确定对应应用的优先级。其中,该运行状态信息用于反映应用当前的运行状态,历史运行信息以及使用顺序信息可用于反映用户使用该应用的习惯,结合三者可以更为精确地反映该应用将来被用户使用的概率,进而减少内存回收过程中回收到更活跃的应用的现象发生。

6、在第一方面提供的一种实施方式中,所述第一目标内存页面链表还包括占用的内存大于或等于第一阈值的应用对应的内存页面链表。这样一来,电子设备可以通过牺牲用户对一个应用的体验,保证其他大部分应用的流畅度。

7、在第一方面提供的一种实施方式中,所述电子设备满足内存回收条件,包括:所述电子设备的可用内存空间小于第二阈值。

8、在第一方面提供的一种实施方式中,所述电子设备满足内存回收条件,包括:所述电子设备维持休眠状态的时间大于预设时间。

9、在第一方面提供的一种实施方式中,在所述回收所述电子设备的一个或多个内存页面链表中的第一目标内存页面链表中的全部文件页之后,所述方法还包括:若所述电子设备回收所释放的内存空间小于第三阈值,再次回收除所述第一目标内存页面链表以外的一个或多个内存页面链表中的第二目标内存页面链表中的全部文件页。

10、在第一方面提供的一种实施方式中,每个内存页面链表包括对应应用的文件最近最少使用lru链表,文件lru链表包括对应应用的全部文件页。

11、在第一方面提供的一种实施方式中,每个内存页面链表包括对应应用的匿名最近最少使用lru链表,匿名lru链表包括对应应用的全部匿名页。

12、第二方面,本申请还提供一种电子设备,电子设备包括:存储器和处理器;处理器与存储器耦合;其中,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令;当计算机指令被处理器执行时,使得电子设备执行如第一方面中任意一种实施方式的方法。

13、第三方面,本申请还提供一种计算机可读存储介质,包括计算机指令;

14、当计算机指令在电子设备上运行时,使得电子设备执行如第一方面中任意一种实施方式的方法。

15、第四方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面中任一实施方式所述的推荐方法。

16、第五方面,提供了一种装置(例如,该装置可以是芯片系统),该装置包括处理器,用于支持电子设备实现上述第一方面中所涉及的功能。在一种可能的设计中,该装置还包括存储器,该存储器,用于保存电子设备必要的程序指令和数据。该装置是芯片系统时,可以由芯片构成,也可以包含芯片和其他分立器件。

17、其中,第二方面至第五方面中任一种设计方式所带来的技术效果可参见第一方面中不同设计方式所带来的技术效果,此处不再赘述。



技术特征:

1.一种内存管理方法,其特征在于,应用于电子设备,所述电子设备中运行有一个或多个应用,所述电子设备包括每个处于运行状态的应用对应的内存页面链表,每个所述内存页面链表包括对应应用的全部文件页,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,每个所述内存页面链表还包括对应应用的全部匿名页;

3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:

4.根据权利要求1或2所述的方法,其特征在于,所述第一目标内存页面链表还包括占用的内存大于或等于第一阈值的应用对应的内存页面链表。

5.根据权利要求1-4中任意一项所述的方法,其特征在于,所述电子设备满足内存回收条件,包括:所述电子设备的可用内存空间小于第二阈值。

6.根据权利要求1-4中任意一项所述的方法,其特征在于,所述电子设备满足内存回收条件,包括:所述电子设备维持休眠状态的时间大于预设时间。

7.根据权利要求1-6中任意一项所述的方法,其特征在于,在所述回收所述电子设备的一个或多个内存页面链表中的第一目标内存页面链表中的全部文件页之后,所述方法还包括:

8.根据权利要求1-7中任意一项所述的方法,其特征在于,每个所述内存页面链表包括对应应用的文件最近最少使用lru链表,所述文件lru链表包括对应应用的全部文件页。

9.根据权利要求8所述的方法,其特征在于,每个所述内存页面链表包括对应应用的匿名lru链表,所述匿名lru链表包括对应应用的全部匿名页。

10.一种电子设备,其特征在于,所述电子设备包括:存储器和处理器;所述处理器与所述存储器耦合;其中,所述存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。

11.一种计算机可读存储介质,其特征在于,包括计算机指令;当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-9中任一项所述的方法。


技术总结
本申请提供一种内存管理方法及电子设备,涉及存储技术领域。该方法可以优先回收不活跃应用的全部文件页,从而在回收内存空间的同时保证其他活跃应用的文件页不被回收,减少由于活跃应用的文件页被回收后又需要重新读取文件导致的卡顿问题,提升用户体验。该方法应用于电子设备,电子设备中运行有一个或多个应用,电子设备包括每个处于运行状态的应用对应的内存页面链表,每个内存页面链表包括对应应用的全部文件页,方法包括:确定电子设备满足内存回收条件;回收电子设备的一个或多个内存页面链表中的第一目标内存页面链表中的全部文件页,其中,第一目标内存页面链表包括一个或多个应用中优先级最低的应用对应的内存页面链表。

技术研发人员:韩军辉,陈寿岩
受保护的技术使用者:荣耀终端有限公司
技术研发日:
技术公布日:2024/1/16
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1