内存页面回收优化方法及其系统、电子设备、存储介质技术方案

技术编号:37463044 阅读:14 留言:0更新日期:2023-05-06 09:36
本发明专利技术公开了一种内存页面回收优化方法及其系统、电子设备、存储介质。其中,该方法包括:在被访问的内存页面位于非活跃链表的情况下,查询被访问的内存页面的页面标志符;在被访问的内存页面的页面标志符的值为0的情况下,将内存页面加入至非活跃链表的头部;将被访问的内存页面的页面标志符置1;其中页面标志符用于表征内存页面在最近的预设时间段内是否被访问过,在页面标志符的值为0的情况下表征内存页面在最近的预设时间段内未被访问过,在页面标志符的值为1的情况下表征内存页面在最近的预设时间段内被访问过。本发明专利技术实施例能够通过改进内存页面被访问时的处理过程,优化对内存页面的管理和回收机制,从而提高内存页面的回收效率。存页面的回收效率。存页面的回收效率。

【技术实现步骤摘要】
内存页面回收优化方法及其系统、电子设备、存储介质


[0001]本专利技术涉及内存管理
,尤其是一种内存页面回收优化方法及其系统、电子设备、存储介质。

技术介绍

[0002]在linux系统中,物理设备的内存是有限的。随着运行的软件越来越多,软件规模越来越大,出现了linux系统内存资源紧张的问题。为了解决内存资源紧张的问题,现代操作系统一般都会采用页交换机制。即程序运行时并非是将程序代码全部加载进内存,而只是加载部分内容。当程序运行产生缺页异常时,会再将程序代码加载到内存中。系统在运行过程中,也会回收一部分内存,用于程序的加载或内存分配。
[0003]相关技术中,操作系统会根据一定的算法回收最近未使用的物理页面,例如:使用最近最少使用(Least Recently Used,LRU)算法进行页面回收。LRU算法假定最近没有使用的页面在未来的一段时间内也不会使用,在内存不足时,这些页面将成为被回收的候选对象。内核中将LRU链表分为两个双向链表:活跃链表和非活跃链表。现有的内核页面交换机制中,当回收内存页面时,如果非活跃链表的链表尾部内存页面不可回收,则需要跳过此内存页面,继续向前寻找可回收的内存页面。极端情况下,链表后端的内存页面均不可回收,则需要一直跳过这些的内存页面,这极大地降低了页面回收的效率。

技术实现思路

[0004]以下是对本文详细描述的主题的概述。
[0005]本专利技术实施例提供了一种内存页面回收优化方法及其系统、电子设备、存储介质,能够通过改进内存页面被访问时的处理过程,优化对内存页面的管理和回收机制,从而提高内存页面的回收效率。
[0006]第一方面,本专利技术实施例提供了一种内存页面回收优化方法,包括:
[0007]在被访问的内存页面位于非活跃链表的情况下,查询被访问的所述内存页面的页面标志符;
[0008]在被访问的所述内存页面的所述页面标志符的值为0的情况下,将所述内存页面加入至所述非活跃链表的头部;
[0009]将被访问的所述内存页面的所述页面标志符置1;
[0010]其中,所述页面标志符用于表征所述内存页面在最近的预设时间段内是否被访问过,在所述页面标志符的值为0的情况下,表征所述内存页面在最近的预设时间段内未被访问过,在所述页面标志符的值为1的情况下,表征所述内存页面在最近的预设时间段内被访问过。
[0011]在一些实施例中,所述查询被访问的所述内存页面的页面标志符之后,还包括:
[0012]在被访问的所述内存页面的所述页面标志符的值为1的情况下,将所述内存页面加入至活跃链表的头部;
[0013]将被访问的所述内存页面的所述页面标志符置0。
[0014]在一些实施例中,所述方法还包括:在被访问的所述内存页面位于活跃链表的情况下,将被访问的所述内存页面的所述页面标志符置1。
[0015]在一些实施例中,所述将所述内存页面加入至所述非活跃链表的头部之前,还包括:
[0016]获取所述内存页面的prev指针和next指针,其中所述prev指针用于指向当前结点的前向结点,所述next指针用于指向当前结点的后向结点;
[0017]根据所述内存页面的所述prev指针和所述next指针查找到所述内存页面的前向结点和后向结点;
[0018]调整所述前向结点的next指针指向所述后向结点,并调整所述后向结点的prev指针指向所述前向结点,将所述内存页面从所述非活跃链表的当前位置移除。
[0019]在一些实施例中,所述将所述内存页面加入至所述非活跃链表的头部,包括:
[0020]调整所述非活跃链表的表头的next指针、所述内存页面的prev指针和next指针的指向,将被访问的所述内存页面加入至所述非活跃链表的头部。
[0021]在一些实施例中,所述在被访问的内存页面位于非活跃链表的情况下,查询被访问的所述内存页面的页面标志符之前,还包括:
[0022]在所述内存页面被访问的情况下,查询所述内存页面位于所述非活跃链表或是位于活跃链表。
[0023]第二方面,本专利技术实施例提供了一种内存页面回收优化系统,包括:
[0024]页面标志符查询模块,用于在被访问的内存页面位于非活跃链表的情况下,查询被访问的所述内存页面的页面标志符;
[0025]内存页面处理模块,用于在被访问的所述内存页面的所述页面标志符的值为0的情况下,将所述内存页面加入至所述非活跃链表的头部;
[0026]页面标志符置位模块,用于将被访问的所述内存页面的所述页面标志符置1;
[0027]其中,所述页面标志符用于表征所述内存页面在最近的预设时间段内是否被访问过,在所述页面标志符的值为0的情况下,表征所述内存页面在最近的预设时间段内未被访问过,在所述页面标志符的值为1的情况下,表征所述内存页面在最近的预设时间段内被访问过。
[0028]在一些实施例中,所述内存页面回收优化系统还包括:
[0029]内存页面查询模块,用于在所述内存页面被访问的情况下,查询所述内存页面位于所述非活跃链表或是位于活跃链表。
[0030]第三方面,本专利技术实施例提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的内存页面回收优化方法。
[0031]第四方面,本专利技术实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于被处理器执行时实现如第一方面所述的内存页面回收优化方法。
[0032]本专利技术实施例包括:在被访问的内存页面位于非活跃链表的情况下,查询被访问的内存页面的页面标志符;在被访问的内存页面的页面标志符的值为0的情况下,将内存页
面加入至非活跃链表的头部;将被访问的内存页面的页面标志符置1;其中,页面标志符用于表征内存页面在最近的预设时间段内是否被访问过,在页面标志符的值为0的情况下,表征内存页面在最近的预设时间段内未被访问过,在页面标志符的值为1的情况下,表征内存页面在最近的预设时间段内被访问过。根据本专利技术实施例的方案,在被访问的内存页面位于非活跃链表的情况下,通过利用内存页面回收优化系统查询被访问的内存页面的页面标志符,在被访问的内存页面的页面标志符的值为0的情况下,将内存页面加入至非活跃链表的头部,并将被访问的内存页面的页面标志符置1,即能够根据被访问的内存页面所处的不同链表及不同状态,对应地对内存页面进行处理,使得非活跃链表尾部聚集的是处于可回收状态的内存页面,从而使得在进行内存页面回收处理的过程中可以直接回收非活跃链表尾部的内存页面,提高内存页面的回收效率。即是说,本专利技术实施例的方案能够通过改进内存页面被访问时的处理过程,优化对内存页面的管理和回收机制,从而提高内存页面的回收效率。
[0033]本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存页面回收优化方法,其特征在于,包括:在被访问的内存页面位于非活跃链表的情况下,查询被访问的所述内存页面的页面标志符;在被访问的所述内存页面的所述页面标志符的值为0的情况下,将所述内存页面加入至所述非活跃链表的头部;将被访问的所述内存页面的所述页面标志符置1;其中,所述页面标志符用于表征所述内存页面在最近的预设时间段内是否被访问过,在所述页面标志符的值为0的情况下,表征所述内存页面在最近的预设时间段内未被访问过,在所述页面标志符的值为1的情况下,表征所述内存页面在最近的预设时间段内被访问过。2.根据权利要求1所述的内存页面回收优化方法,其特征在于,所述查询被访问的所述内存页面的页面标志符之后,还包括:在被访问的所述内存页面的所述页面标志符的值为1的情况下,将所述内存页面加入至活跃链表的头部;将被访问的所述内存页面的所述页面标志符置0。3.根据权利要求1所述的内存页面回收优化方法,其特征在于,所述方法还包括:在被访问的所述内存页面位于活跃链表的情况下,将被访问的所述内存页面的所述页面标志符置1。4.根据权利要求1所述的内存页面回收优化方法,其特征在于,所述将所述内存页面加入至所述非活跃链表的头部之前,还包括:获取所述内存页面的prev指针和next指针,其中所述prev指针用于指向当前结点的前向结点,所述next指针用于指向当前结点的后向结点;根据所述内存页面的所述prev指针和所述next指针查找到所述内存页面的前向结点和后向结点;调整所述前向结点的next指针指向所述后向结点,并调整所述后向结点的prev指针指向所述前向结点,将所述内存页面从所述非活跃链表的当前位置移除。5.根据权利要求4所述的内存页面回收优化方法,其特征在于,所述将所述内存页面加入至所述非活跃链表的头部,包括:...

【专利技术属性】
技术研发人员:丁伟杰彭伟林
申请(专利权)人:广州匠芯创科技有限公司
类型:发明
国别省市:

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

1