一种云服务页表中的大页内存配置方法、系统及相关装置制造方法及图纸

技术编号:30964121 阅读:23 留言:0更新日期:2021-11-25 20:30
本申请提供一种云服务页表中的大页内存配置方法,通过对当前节点大页的总页数和空闲页数进行准确、实时的统计。根据统计的大页内存历史使用数据,预测大页的总页数是否会不足。如果大页数量过多或者不足,就进行相应的标记,从而便于按照标记执行大页内存和系统内存的动态调整,能够提高内存空间利用率,自动适配上层的业务负载,调整大页内存的数量,进而提升应用性能。本申请还提供一种云服务页表中的大页内存配置方法、大页内存配置系统、计算机可读存储介质和电子设备,具有上述有益效果。果。果。

【技术实现步骤摘要】
一种云服务页表中的大页内存配置方法、系统及相关装置


[0001]本申请涉及云计算领域,特别涉及一种云服务页表中的大页内存配置方法、系统及相关装置。

技术介绍

[0002]目前系统中的内存容量远超早期,大多数操作系统都采用了分段或分页的方式进行管理。分页是一种细粒度管理方式,可以避免内存空间的浪费。Linux中页面默认情况下是小页(4KB),映射的页表项与物理内存大小成正比。页表项本身会占用一定内存,而且会影响CPU的访问效率。目前,比较成熟可行的办法是用大尺寸的页面。
[0003]如果进程使用的内存过大,比如1GB,这样会在页表中占用1GB/4KB=262144个页表项,而系统TLB可以容纳的页表项远小于这个数量。当多个内存密集型应用访问内存时,会造成过多的TLB未命中,因此在特定情况下会需要减少未命中次数,一个可行的办法就是增大每个页的尺寸。
[0004]现在kubernetes集群支持在容器应用中使用预先分配的大页,为了使节点能够上报大页容量,kubernetes节点必须预先分配大页。目前由于受到系统架构影响,不同系统架构支持的大页规格也不一样,使得每个节点只能预先分配特定规格的大页。kubernetes节点会自动发现全部大页资源,并作为可供调度的资源进行上报。用户可以通过在容器级别的资源需求中使用资源名称hugepages

<size>来使用大页,其中size是特定节点上支持的以整数值表示的最小二进制单位。大页与CPU或内存不同,其不支持过量使用,因为设置大页资源数量是受到系统内存大小限制的,而且在请求大页资源时,还必须请求内存或CPU资源,不能单独使用。

技术实现思路

[0005]本申请的目的是提供一种云服务页表中的大页内存配置方法、大页内存配置系统、计算机可读存储介质和电子设备,能够提升内存利用率。
[0006]为解决上述技术问题,本申请提供一种云服务页表中的大页内存配置方法,具体技术方案如下:
[0007]获取当前节点大页的总页数和空闲页数;
[0008]根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足;
[0009]若是,设置大页调整标志位为第一标志;
[0010]若否,设置所述大页调整标志位为第二标志;其中,所述第一标志用于指示线程增加大页内存数量,所述第二标志用于指示线程释放大页内存数量。
[0011]可选的,所述获取当前节点大页的总页数和空闲页数包括:
[0012]以预设周期周期性地获取当前节点大页的总页数和空闲页数。
[0013]可选的,根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足包括:
[0014]根据大页历史内存使用数据、所述空闲页数和数量计算公式判断所述大页的总页数是否不足;
[0015]其中,所述数量计算公式为:
[0016]X
last
为所述大页历史内存使用数据中上一周期的大页使用数量,X
t
‑1表示历史上预测的大页使用数量,X
t
为下一周期大页的总页数,为加权比重。
[0017]可选的,还包括:
[0018]当检测到大页内存低于内存下限值时,设置大页调整标志位为第一标志。
[0019]可选的,还包括:
[0020]当预设时间段内所述大页内存的申请量超过预设数量上限时,设置大页调整标志位为第一标志。
[0021]可选的,设置大页调整标志位为第一标志或设置所述大页调整标志位为第二标志之后,还包括:
[0022]在满足线程扫描周期后异步启动线程,并调用所述线程根据执行大页内存调整。
[0023]可选的,设置所述大页调整标志位为第二标志之后,还包括:
[0024]根据所述大页历史内存使用数据确定所需释放的大页内存数量。
[0025]本申请还提供一种云服务页表中的大页内存配置系统,包括:
[0026]获取模块,用于获取当前节点大页的总页数和空闲页数;
[0027]判断模块,用于根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足;
[0028]第一标志调整模块,用于所述判断模块的判断结果为是时,设置大页调整标志位为第一标志;
[0029]第二标志调整模块,用于所述判断模块的判断结果为否时,设置所述大页调整标志位为第二标志;其中,所述第一标志用于指示线程增加大页内存数量,所述第二标志用于指示线程释放大页内存数量。
[0030]本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法的步骤。
[0031]本申请还提供一种电子设备,包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如上所述的方法的步骤。
[0032]本申请提供一种云服务页表中的大页内存配置方法,包括:获取当前节点大页的总页数和空闲页数;根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足;若是,设置大页调整标志位为第一标志;若否,设置所述大页调整标志位为第二标志;其中,所述第一标志用于指示线程增加大页内存数量,所述第二标志用于指示线程释放大页内存数量。
[0033]本申请对当前节点大页的总页数和空闲页数进行准确、实时的统计。根据统计的大页内存历史使用数据,预测大页的总页数是否会不足。如果是大页数量过多或者不足,就进行相应的标记,从而便于按照标记执行大页内存和系统内存的动态调整,能够提高内存空间利用率,自动适配上层的业务负载,调整大页内存的数量,进而提升应用性能。
[0034]本申请还提供一种云服务页表中的大页内存配置方法、大页内存配置系统、计算机可读存储介质和电子设备,具有上述有益效果,此处不再赘述。
附图说明
[0035]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0036]图1为本申请实施例所提供的一种云服务页表中的大页内存配置方法的流程图;
[0037]图2为本申请实施例所提供的一种云服务页表中的大页内存配置系统结构示意图。
具体实施方式
[0038]为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039]请参考图1,图1为本申请实施例所提供的一种云服务页表中的大页内存配置方法的流程图,该方案包括:
[0040]S本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种云服务页表中的大页内存配置方法,其特征在于,包括:获取当前节点大页的总页数和空闲页数;根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足;若是,设置大页调整标志位为第一标志;若否,设置所述大页调整标志位为第二标志;其中,所述第一标志用于指示线程增加大页内存数量,所述第二标志用于指示线程释放大页内存数量。2.根据权利要求1所述的大页内存配置方法,其特征在于,所述获取当前节点大页的总页数和空闲页数包括:以预设周期周期性地获取当前节点大页的总页数和空闲页数。3.根据权利要求1所述的大页内存配置方法,其特征在于,根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足包括:根据大页历史内存使用数据、所述空闲页数和数量计算公式判断所述大页的总页数是否不足;其中,所述数量计算公式为:X
last
为所述大页历史内存使用数据中上一周期的大页使用数量,X
t
‑1表示历史上预测的大页使用数量,X
t
为下一周期大页的总页数,为加权比重。4.根据权利要求1所述的大页内存配置方法,其特征在于,还包括:当检测到大页内存低于内存下限值时,设置大页调整标志位为第一标志。5.根据权利要求1所述的大页内存配置方法,其特征在于,还包括:当预设时间段内所述大页内存的申请量超过预设数量上限时,设置大页调整标志位为第一标志。6.根据权利要...

【专利技术属性】
技术研发人员:肖润坤
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1