自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]
更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14