图解|透明大页原理与实现

2022-12-30 19:16:24 来源:

在《图解|Linux大内存页原理》一文中,我们介绍过标准大页的原理与其优点,现在我们回顾一下标准大页有哪些优点:


(资料图片仅供参考)

减少转译后备缓冲区(Translation Lookaside Buffer,TLB)的失效情况,TLB 是 CPU 为了加速虚拟内存地址转换成物理内存地址而增加的缓冲区。减少页表的内存消耗。减少缺页异常(page fault)发生的次数,缺页异常处理例程需要对虚拟内存地址进行映射,而这个映射过程也是一个耗时的过程。

可以看出,使用大页能够加速系统的运行效率。

但是标准大页使用起来比较麻烦,需要挂载 Hugetlb 文件系统,并且需要使用 mmap 系统调用来对大页进行映射。为了解决标准大页使用麻烦的问题,红帽子(Red Hat)公司开发出透明大页(Transparent Huge Pages,THP)功能。

要使用透明大页功能,只需要使用以下命令开启即可:

echoalways>/sys/kernel/mm/transparent_hugepage/enabled

开启了透明大页功能后,内核将会创建一个名为khugepaged的内核线程。

khugepaged内核线程会不断扫描进程的虚拟内存空间(vma,virtual memory area),如果发现存在 2MB 地址连续的虚拟地址空间,那么判断其是否满足转换成大页的条件,如果满足则将这些物理内存合并成一个大页。如下图所示:

相对于使用繁琐的标准大页,透明大页显得更加友好。

透明大页原理

操作系统管理内存时,是以页作为单位的,常用的页大小有4KB、2MB和1GB。4KB 的内存页被称为普通内存页,而 2MB 和 1GB 的内存页被称为大页。

通常来说,4KB 的内存页使用频率最多,但有时候为了减少缺页异常发生的次数(提升程序的性能),所以会使用 2MB 或者 1GB 的内存页来代替 4KB 的内存页。

透明大页核心思想

透明大页的核心思想很简单:不断扫描进程的虚拟内存区间(vma),如果发现大小超过 2MB 的内存区间,将会判断其是否满足转换成大页的条件,如果满足则将这些物理内存合并成一个大页。

我们知道每个进程都有一个 mm_struct 结构,用来管理进程的虚拟内存空间和映射物理地址的页表等信息,而虚拟内存的区间是通过 vm_area_struct 结构(vma)来管理的。

透明大页的核心逻辑步骤:

查找满足转换成大页的内存区间

khugepaged内核线程会扫描进程的虚拟内存空间,如果发现内存区间大于等于 2MB,并且满足转换成大页的条件,那么将会进入下面的步骤。

标签 虚拟内存 物理内存 异常发生

郴州安仁文旅项目集中开工 总投资1000万元

3月16日,安仁县举行文旅项目集中开工活动,县委书记王洪灿在开工仪式上宣布:湘南起义旧址群——朱毛井...

2022-03-20 15:40:46

2022年郴州计划重点推进文旅项目101个 总投资354亿元

3月16日,我市举行全市文旅项目和城市大提质大融城项目集中开工仪式,市委书记吴巨培宣布项目开工。郴州...

2022-03-20 15:39:41

宿州泗县深入推进文旅融合发展 擦亮城市品牌

近年来,泗县以争创安徽省文化旅游名县为目标,深入推进文旅融合发展,努力擦亮水韵泗州 运河名城城市...

2022-03-20 15:38:59

汽车零部件产业“领头羊” 锦州力争一季度“开门红”

3月16日,记者从锦州汽车零部件产业的领头羊——锦州万得集团获悉,今年前两个月,企业订单充足,正铆足...

2022-03-20 15:37:41

油价或有望冲击“九元”大关 宁波新能源汽车市场如何

新一轮国内成品油调价窗口于3月17日24时开启,油价或有望冲击九元大关。前一天晚上11点,鄞州区不少加油...

2022-03-20 15:34:38

从水塘到“云”端 全国最大高邮鸭养殖基地实现智慧养殖

随着新一代数字技术的蓬勃发展,以新兴技术推动现代化新农村建设正成为助力乡村振兴的重要手段。1个人能...

2022-03-20 15:33:17

淡季不忘引流 京郊民宿市场有望迎来回暖

旅游淡季中的京郊民宿有望成为市场中最先复苏的板块。3月17日,北京商报记者调查发现,虽然正值旅游淡季...

2022-03-20 15:32:01

镇江乡村一二三产业融合发展 闯出“镇江之路”

从烹饪江鲜河豚的个体小饭店到规模化的江岛乡村旅游产业集群,从白兔草莓丁庄葡萄的单个农户种植到茅山...

2022-03-20 15:31:11

总投资30亿元 盐城东台8个重大产业项目相继开工

总投资30亿元的精密电子元器件项目、同益电子项目,总投资10亿元的金利美精密组件项目、天永智能设备项...

2022-03-20 15:30:13

去年南京规上信息软件业企业实现营收7577.28亿元 同比增长10.3%

市统计局最新统计数据显示,2021年,我市规模以上信息软件业企业共1662家,较上年同期增加321家,实现营...

2022-03-20 15:28:57
x 广告
x 广告

Copyright  2015-2022 华西粮油网版权所有  备案号:京ICP备2022016840号-35   联系邮箱: 920 891 263@qq.com