千家信息网

Transparent Hugepages该如何理解

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,Transparent Hugepages该如何理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。用过不少种类的数据库的人会遇到一个
千家信息网最后更新 2026年11月01日Transparent Hugepages该如何理解

Transparent Hugepages该如何理解,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

用过不少种类的数据库的人会遇到一个问题, transparent Hugepages 在不少的数据库中都被提到 disabled, turn off . Why should we turn off the transparent hugepage ?

透明的巨型页面是 transparenet 的专用中文释义名词,对于LINUX kernel 来说 page, 页面相当于一个内存的unit, (其实对于数据库来说,大部分也是).默认来说是2048KB, 当然有的不是.

transparent Huge pages 允许为频繁频繁访问的数据保留相关的资源,打开他的确是可以提高系统的性能,保持数据滞留在linux 内存中.

在LINUX 中有一项建议(非数据库服务器), 设置3/8 以内的内存为transparenet huge page. 因为部分LINIUX的应用也不能使用transparenet huge page. 而在Linux内核中包括了 THP 的压缩功能,压缩的操作对资源是密集型的操作,对整体的系统性能是有影响的.

那么问题回到一个basement level , 为什么会有 HP THP, 这样的东西,大部分的应用程序和OS 运行在虚拟内存中,虚拟内存,虚拟内存就是物理内存的映射,相当于地址转换,CPU通过 cpu's memory management unit 简称mmu来访问, 自然MMU也有自己的cache 来缓存经常访问的页面.这个cache 叫, Translation lookside buffer(TLB), 但实际上CPU 访问的内存数量越来越多

后,会带来访问率或者叫命中率的降低, 那解决的方法有两种

1 提高 TLB 的大小 (这不容易,这是硬件的问题)

2 将每次寻址的单元扩大, 也就是以前一个页面 4KB,那我们将一个页面变为1MB ,这样访问的效率不就提升了. 所以就有了HP THP 这样的东西了.

那这样的问题就产生了新的问题,一次尽量访问更多的内存, 但内存也有碎片,也不见得一次是完整的连续的空间, 如果不能满足HP THP 的需求, 则系统会对页面进行换出, 压缩 这样一番下来,会出现一个名词叫 latency spikes , 会严重影响访问的时间和性能.

而为什么有些数据库要禁用掉THP ,主要的原因是这类数据库大部分访问内存的方式是分散的,并不是访问连续的页面,而这样的访问模式,就会造成内存的碎片化.访问的page 不也不是大量连续性的. 并且在不启用THP 时申请4KB的内存时,LINUX会分配相应的内存给应用, 但如果是在系统级别启用了THP,则类似数据库申请内存时,即使申请的值是4KB ,但分配是会以大于4KB例如 2MB 来进行分配,这样数据库申请使用内存的方式也会出现问题,和相关的损耗.

值得说明的是大部分数据库都会建议你关闭 THP , 包括 MYSQL POSTGRESQL ORACLE 等数据库也是建议关闭THP.

但PostgreSQL 中有一个设置从PG9.4而来, Huge Page 并且有三个参数 ON OFF TRY,默认使用 try ,内核中有足够的大页面,PostgreSQL将尝试使用大页面,若没有就不使用它。强制使用巨大的页面,内核没有足够大的页面则PostgreSQL将无法启动。HugePages可以通过显著减少内存页表中的页表条目数量来提高系统性能,要让应用程序使用HugePages,需要显式指令。用这种方式更改应用程序有时可以,有时不行,需要在系统管理级别进行重新设计。因此,引入了透明巨页(THP)技术。如果启用,它可能会在应用程序实际上"不知道"的情况下为应用程序分配巨大的页面;因此,透明度。

猜测这也就是PG 为什么支持HP 而建议关闭THP的原因之一吧

关于Transparent Hugepages该如何理解问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

内存 数据 页面 数据库 问题 应用 系统 应用程序 程序 大部分 建议 性能 分配 内核 方式 更多 巨大 频繁 东西 也就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 哈尔滨大商圈互联网科技有限公司 科技互联网龙头 互联网最新的科技有限公司 互联网 的科技创新 互联网科技股票 上海致骋互联网科技 互联网科技生活的内容 恒生科技互联网指数分析 小米互联网科技园设置 阿里互联网科技公司 晓花互联网科技有限公司网址 成都互联网科技公司工作好不好 中国互联网十大科技股排名 互联网在线教育科技创业 爱医互联网络科技 南博望互联网科技有限公司 卡尔迅互联网科技有限公司 深圳互联网科技园地址 山东蛋芒互联网科技有限公司 互联网科技大佬云集 花魁咖啡 互联网科技博客 互联网科技公司名称 互联网金融监管科技 互联网科技实习生岗位职责 想开互联网科技公司怎么样 威龙国际互联网科技公司 互联网企业科技类企业如何做账 全球科技与互联网公司市值变化 广州三三互联网科技有限公司
0