[发明专利]一种云服务页表中的大页内存配置方法、系统及相关装置在审
申请号: | 202110873720.9 | 申请日: | 2021-07-30 |
公开(公告)号: | CN113687873A | 公开(公告)日: | 2021-11-23 |
发明(设计)人: | 肖润坤 | 申请(专利权)人: | 济南浪潮数据技术有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 高勇 |
地址: | 250101 山东省济南市自由贸易试验区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 中的 内存 配置 方法 系统 相关 装置 | ||
本申请提供一种云服务页表中的大页内存配置方法,通过对当前节点大页的总页数和空闲页数进行准确、实时的统计。根据统计的大页内存历史使用数据,预测大页的总页数是否会不足。如果大页数量过多或者不足,就进行相应的标记,从而便于按照标记执行大页内存和系统内存的动态调整,能够提高内存空间利用率,自动适配上层的业务负载,调整大页内存的数量,进而提升应用性能。本申请还提供一种云服务页表中的大页内存配置方法、大页内存配置系统、计算机可读存储介质和电子设备,具有上述有益效果。
技术领域
本申请涉及云计算领域,特别涉及一种云服务页表中的大页内存配置方法、系统及相关装置。
背景技术
目前系统中的内存容量远超早期,大多数操作系统都采用了分段或分页的方式进行管理。分页是一种细粒度管理方式,可以避免内存空间的浪费。Linux中页面默认情况下是小页(4KB),映射的页表项与物理内存大小成正比。页表项本身会占用一定内存,而且会影响CPU的访问效率。目前,比较成熟可行的办法是用大尺寸的页面。
如果进程使用的内存过大,比如1GB,这样会在页表中占用1GB/4KB=262144个页表项,而系统TLB可以容纳的页表项远小于这个数量。当多个内存密集型应用访问内存时,会造成过多的TLB未命中,因此在特定情况下会需要减少未命中次数,一个可行的办法就是增大每个页的尺寸。
现在kubernetes集群支持在容器应用中使用预先分配的大页,为了使节点能够上报大页容量,kubernetes节点必须预先分配大页。目前由于受到系统架构影响,不同系统架构支持的大页规格也不一样,使得每个节点只能预先分配特定规格的大页。kubernetes节点会自动发现全部大页资源,并作为可供调度的资源进行上报。用户可以通过在容器级别的资源需求中使用资源名称hugepages-size来使用大页,其中size是特定节点上支持的以整数值表示的最小二进制单位。大页与CPU或内存不同,其不支持过量使用,因为设置大页资源数量是受到系统内存大小限制的,而且在请求大页资源时,还必须请求内存或CPU资源,不能单独使用。
发明内容
本申请的目的是提供一种云服务页表中的大页内存配置方法、大页内存配置系统、计算机可读存储介质和电子设备,能够提升内存利用率。
为解决上述技术问题,本申请提供一种云服务页表中的大页内存配置方法,具体技术方案如下:
获取当前节点大页的总页数和空闲页数;
根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足;
若是,设置大页调整标志位为第一标志;
若否,设置所述大页调整标志位为第二标志;其中,所述第一标志用于指示线程增加大页内存数量,所述第二标志用于指示线程释放大页内存数量。
可选的,所述获取当前节点大页的总页数和空闲页数包括:
以预设周期周期性地获取当前节点大页的总页数和空闲页数。
可选的,根据大页历史内存使用数据和所述空闲页数判断所述大页的总页数是否不足包括:
根据大页历史内存使用数据、所述空闲页数和数量计算公式判断所述大页的总页数是否不足;
其中,所述数量计算公式为:
Xlast为所述大页历史内存使用数据中上一周期的大页使用数量,Xt-1表示历史上预测的大页使用数量,Xt为下一周期大页的总页数,为加权比重。
可选的,还包括:
当检测到大页内存低于内存下限值时,设置大页调整标志位为第一标志。
可选的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮数据技术有限公司,未经济南浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110873720.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种新型的透镜蜂窝面板灯
- 下一篇:利用马铃薯粉渣生产牛蛋白饲料的生产工艺