页面调度方法技术

技术编号:39496983 阅读:11 留言:0更新日期:2023-11-24 11:25
本申请涉及一种页面调度方法

【技术实现步骤摘要】
页面调度方法、系统、计算机设备和存储介质


[0001]本申请涉及页面调度
,特别是涉及一种页面调度方法

系统

计算机设备和存储介质


技术介绍

[0002]随着互联网产业的高速发展和在线业务的大幅增加,企业用户对于业务性能及响应的需求不断提升,在这种情况下,对不断提升业务响应速度是一直不断追寻的目标

如何提升服务器中内存使用性能存在诸多困难,
Linux
内核中内存管理系统的目的是保证正在使用的内存页始终保留在内存中,但是有时由于短时大量业务访问,导致内存访问回收,内存大量换入换出,业务性能下降

[0003]Linux
内核中维护了
LRU
链表,实际上就是多个链表,物理内存中属于用户空间的页面都由链表串联起来,内核会经常查看
LRU
链表,把最近访问最多的页面放到
LRU
头部,当需要访问更多页面时,为了从磁盘或
swap
分区中移入一些页面,会首先回收
LRU
链表尾部的页面
。LRU
实现的前提就是假设最近使用过的页面接下来很可能还会用到,而那些已经有段时间未用到的页面则通常不值得继续保留了

[0004]如果短时间内某个应用程序通过缺页中断加载许多新的内存页到活动页链表中,那么有可能将一些正在使用的有用的内存页挤到非活动页链表中,尽管这些新加入的页面只进行一次访问,那些挤入非活动页链表中的内存页可能需要进行多次访问,并且这些页面可能有被回收掉的风险,这样将导致内存在换入换出中降低业务性能


技术实现思路

[0005]基于此,提供一种页面调度方法

系统

计算机设备和存储介质,能够在
Linux
系统下对
LRU
链表进行动态调整和控制,根据实际内存页类型

访问频率进行动态更新,避免需要多次访问的内存页被挤入非活动页链表,甚至被回收,避免内存换入换出损失性能,从而提升业务响应速度

[0006]一方面,提供一种页面调度方法,所述方法包括:
[0007]遍历当前系统下
LRU
链表中的内存页,设置每一内存页具有一个热度权重值,对所述
LRU
链表中内存页的热度权重值进行初始化;
[0008]监控所述
LRU
链表中的每一内存页在活动页链表

非活动页链表中的位置变化数据;
[0009]根据预设的内存页在活动页链表

非活动页链表中的位置变化数据对应的热度权重值变化值,对每一内存页的实时热度权重值进行判断;
[0010]依据内存页的实时热度权重值的判断结果,对当前
LRU
链表中的内存页热度权重值进行修改,对内存页在所述
LRU
链表中的位置进行调整

[0011]在其中一个实施例中,所述遍历当前系统下
LRU
链表中的内存页,设置每一内存页具有一个热度权重值,对所述
LRU
链表中内存页的热度权重值进行初始化步骤之前还包括:
[0012]配置内存页在活动页链表

非活动页链表中的位置变化数据对应的热度权重值变化值;
[0013]配置新加载的内存页的初始热度权重值,并配置新加载的内存页加入非活动页链表中

[0014]在其中一个实施例中,所述配置内存页在活动页链表

非活动页链表中的位置变化数据对应的热度权重值变化值步骤包括:
[0015]配置内存页热度权重值增值
α
,当内存页从非活动页链表转入活动页链表时,则该内存页的热度权重值增加
α

[0016]配置内存页热度权重值减值
β
,当内存页从活动页链表转入非活动页链表时,则该内存页的热度权重值减少
β
;其中
β

α

[0017]在其中一个实施例中,所述配置新加载的内存页的初始热度权重值,并配置新加载的内存页加入非活动页链表中步骤包括:
[0018]配置内存页初始化热度权重值为
γ
,当新加载的内存页加入非活动页链表中时,则该内存页的热度权重值初始化为
γ
;其中
γ

α

[0019]在其中一个实施例中,所述对所述
LRU
链表中内存页的热度权重值进行初始化步骤,包括:
[0020]对所述
LRU
链表中所有内存页的热度权重值均赋值为
γ

[0021]在其中一个实施例中,所述对内存页在所述
LRU
链表中的位置进行调整步骤,包括:
[0022]在链表中将内存页依据热度权重值进行降序排列;
[0023]按照所述活动页链表中的内存页限定数量,在所述活动页链表中获取降序排列顺序末尾处超出限定数量的内存页作为预调整至所述非活动页链表的内存页,并调整至所述非活动页链表中;
[0024]按照所述非活动页链表中的内存页限定数量,在所述非活动页链表中获取降序排列顺序末尾处超出限定数量的内存页作为预调整至所述非活动页链表之外的内存页,并调整至所述非活动页链表之外

[0025]在其中一个实施例中,将预调整至所述非活动页链表之外的内存页调整至所述非活动页链表之外步骤之后还包括:
[0026]将调整至所述非活动页链表之外的内存页的热度权重值清零

[0027]另一方面,提供了一种页面调度系统,所述系统包括:
[0028]初始化装置,用于遍历当前系统下
LRU
链表中的内存页,设置每一内存页具有一个热度权重值,对所述
LRU
链表中内存页的热度权重值进行初始化;
[0029]监控装置,用于监控所述
LRU
链表中的每一内存页在活动页链表

非活动页链表中的位置变化数据;
[0030]判断装置,用于根据预设的内存页在活动页链表

非活动页链表中的位置变化数据对应的热度权重值变化值,对每一内存页的实时热度权重值进行判断;
[0031]执行装置,用于依据内存页的实时热度权重值的判断结果,对当前
LRU
链表中的内存页热度权重值进行修改,对内存页在所述
LRU
链表中的位置进行调整

[0032]再一方面,提供了一种计算机设备,包括存储器

处理器及存储在存储器上并可在
处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
...

【技术保护点】

【技术特征摘要】
1.
一种页面调度方法,其特征在于,包括:遍历当前系统下
LRU
链表中的内存页,设置每一内存页具有一个热度权重值,对所述
LRU
链表中内存页的热度权重值进行初始化;监控所述
LRU
链表中的每一内存页在活动页链表

非活动页链表中的位置变化数据;根据预设的内存页在活动页链表

非活动页链表中的位置变化数据对应的热度权重值变化值,对每一内存页的实时热度权重值进行判断;依据内存页的实时热度权重值的判断结果,对当前
LRU
链表中的内存页热度权重值进行修改,对内存页在所述
LRU
链表中的位置进行调整
。2.
根据权利要求1所述的页面调度方法,其特征在于,所述遍历当前系统下
LRU
链表中的内存页,设置每一内存页具有一个热度权重值,对所述
LRU
链表中内存页的热度权重值进行初始化步骤之前还包括:配置内存页在活动页链表

非活动页链表中的位置变化数据对应的热度权重值变化值;配置新加载的内存页的初始热度权重值,并配置新加载的内存页加入非活动页链表中
。3.
根据权利要求2所述的页面调度方法,其特征在于,所述配置内存页在活动页链表

非活动页链表中的位置变化数据对应的热度权重值变化值步骤包括:配置内存页热度权重值增值
α
,当内存页从非活动页链表转入活动页链表时,则该内存页的热度权重值增加
α
;配置内存页热度权重值减值
β
,当内存页从活动页链表转入非活动页链表时,则该内存页的热度权重值减少
β
;其中
β

α
。4.
根据权利要求2所述的页面调度方法,其特征在于,所述配置新加载的内存页的初始热度权重值,并配置新加载的内存页加入非活动页链表中步骤包括:配置内存页初始化热度权重值为
γ
,当新加载的内存页加入非活动页链表中时,则该内存页的热度权重值初始化为
γ
;其中
γ

α
。5.
根据权利要求4所述的页面调度方法,其特征...

【专利技术属性】
技术研发人员:王楷元戴纯兴许鑫王传国
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1