TiDB 是否建议启用 HugePages?

官方部署文档只提到需要禁用 THP(Tranparent Huge Page),这也是大部分数据库的部署要求。但是,在 Oracle 及 PG 为了内存分配效率,在针对大内存的服务器,会建议开启 HugePage。
TIDB 中是否建议开启 HugePage?如果有这个建议,是否可在官方文档中补全这部分的操作内容?

已有相关建议


https://docs.pingcap.com/zh/tidb/stable/check-before-deployment#检查和配置操作系统优化参数

HugePage与THP完全不是一个东西。虽然都是大页内存管理,但是管理机制不同。
HugePage(标准大页)管理是预分配方式,而THP(透明大页)管理则是动态分配方式。
因为数据库是内存密集型服务,所以像 Oracle、PG 这种进程模型数据库,为了提高大内存的管理效率,都会建议禁用 THP,而启用 HugePages。

哦………是这个意思啊,那我理解错了

Oracle、PG是建议开启HugePage,关闭透明大页(THP),MySQL好像没建议开启HugePage,这点TiDB应该类似MySQL吧

如果是兼容mysql的话,应该是不开启的

MySQL 开启 HugePage,只有 innodb buffer 可以利用到 HugePage。

tidb是不建议开启huge page的,因为一旦碎片很多,你总要分配一个比较大的内存,当申请的多,就不够申请,会有比较大的延迟

HugePage默认是开启的吧

兼容mysql只是协议上兼容,数据库的底层是完全不同的东西,这个评估不能按mysql的评估

之前oracle是开启hugepage的,这样内存查找会快点,会少遍历一些内存块