欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

CentOS7 禁用Transparent Huge Pages的实现方法

程序员文章站 2022-03-01 20:18:39
centos7 禁用transparent huge pages 自centos6版本开始引入了transparent huge pages(thp),从centos7版...

centos7 禁用transparent huge pages

自centos6版本开始引入了transparent huge pages(thp),从centos7版本开始,该特性默认就会启用。尽管thp的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭thp(比如说oracle、mariadb、mongodb等),否则可能会导致性能出现下降。

首先检查thp的启用状态:

[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/defrag
[always] madvise never
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never

这个状态就说明都是启用的。

我们这个时候当然可以逐个修改上述两文件,来禁用thp,但要想一劳永逸的令其永久生效,还是参考下列的步骤。

编辑rc.local文件:

[root@localhost ~]# vim /etc/rc.d/rc.local

增加下列内容:

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi

保存退出,然后赋予rc.local文件执行权限:

[root@localhost ~]# chmod +x /etc/rc.d/rc.local

最后重启系统,以后再检查thp应该就是被禁用了

[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/defrag 
always madvise [never]

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!