数据库服务器资源优化(2)关闭THP透明大页

数据库服务器资源优化(2)关闭THP透明大页

一、什么是HugePage

透明大页(Transparent HugePages,简称THP)。在 Linux 操作系统中,内存以页(Page)为单位进行管理,每个页默认 4KB。而 HugePages则是允许使用更大的内存页,以降低内存在对大量页管理上的开销,可以提升大内存场景下的应用稳定和性能。

对于数据库系统而言,它对于内存的使用是动态变化的,大部分场景下都是使用大量的小页面。而使用Hugepage后,大页中的内存无法得到及时的释放,数据库就无法有效利用这些大页面中的空闲空间,导致内存浪费。所以在MySQL、Oracle及一些JVM应用中都建议关闭THP功能,取而代之的是自身的一些优化机制。

另外需要注意的是除了THP透明大页,还有一个HP大页,他们虽然都属于大页内存机制,但因为分配方式的不同导致在适用场景上有明显区别。对于数据库服务器,通常都建议禁用 THP,视情况启用 HugePages(特别是 Oracle/PostgreSQL)。


二、如何关闭HugePage

1、查看当前系统大页大小

cat /proc/meminfo | grep Huge

2、命令行方式禁用大页

echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

3、结果验证

如果显示的是 [always] 或 [madvise],说明没有关闭成功

cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]

4、永久生效

在rc.local中添加配置,让操作系统重启后也自动关闭大页

vi /etc/rc.d/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag



文章评论

猜你喜欢

NTP时间同步服务配置教程

运维技术 NTP时间同步服务配置教程

一、什么是NTP时间同步NTP是网络时间协议Network Time Protocol的简称。通过 NTP 服务可以确保不同设备或者服务之间的时间一致性,尤其是一些高可用或集群化的服务,节点之间的时间...

数据库服务器资源优化(1)关闭NUMA

运维技术 数据库服务器资源优化(1)关闭NUMA

一、什么是NUMA在当前主流服务器上,通常是多个CPU协同工作,然后每个CPU可以支持多个物理核。应用程序可以在不同的处理器上运行。比如先在CPU1上运行一段时间,然后再被调度到CPU2上运行,这种被...