THP关闭方法-Transparent Pages

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了THP关闭方法-Transparent Pages相关的知识,希望对你有一定的参考价值。

#这里只针对CentOs7系统,内核3.10,grub2
#修改/etc/default/grub,在GRUB_CMDLINE_LINUX中添加transparent_hugepage=never,如下
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=system/root rd.lvm.lv=system/swap rhgb quiet transparent_hugepage=never"
grub2-mkconfig -o /boot/grub2/grub.cfg
grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
#但是这里有个问题,重启机器后,defrag一直是always,而不是never,但是也不影响使用,
#我还没有弄明白defrag的作用,从字面意思是整理内存碎片的作用,按理说应该不影响使用,但是有问题,重启机器后,又变成never了。
#下面是解决disable THP的推荐方法(机器重启后THP仍旧是关闭的):
#disable-transparent-hugepages脚本内容,放到/etc/init.d/下,
#并授权可执行权限chmod 755 /etc/init.d/disable-transparent-hugepages,并加入开机自启动chkconfig --add disable-transparent-hugepages

#!/bin/bash

case $1 in
          start)
            if [ -d /sys/kernel/mm/transparent_hugepage ]; then
              thp_path=/sys/kernel/mm/transparent_hugepage
            elif [ -d /sys/kernel/mm/redhat_transparent_hugepage ]; then
              thp_path=/sys/kernel/mm/redhat_transparent_hugepage
            else
              return 0
            fi

            echo ‘never‘ > ${thp_path}/enabled
            echo ‘never‘ > ${thp_path}/defrag

            re=‘^[0-1]+$‘
            if [[ $(cat ${thp_path}/khugepaged/defrag) =~ $re ]]
            then
              #RHEL 7
              echo 0  > ${thp_path}/khugepaged/defrag
            else
              #RHEL 6
              echo ‘no‘ > ${thp_path}/khugepaged/defrag
            fi

            unset re
            unset thp_path
            ;;
esac


mkdir /etc/tuned/no-thp -p
echo -e "[main]
include=virtual-guest
[vm]
transparent_hugepages=never" >/etc/tuned/no-thp/tuned.conf
tuned-adm profile no-thp

cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
#都是always madvise [never]才可以。这个是不用重启机器。

以上是关于THP关闭方法-Transparent Pages的主要内容,如果未能解决你的问题,请参考以下文章

redis启动后出现"WARNING you have Transparent Huge Pages (THP) support enabled in your kernel"问题

THP Transparent HugePages 相关知识与关闭

Linux透明大页(Transparent Huge Pages)对ES性能对影响

为啥Redis要关闭THP?

WARNING you have Transparen Huge Pages..

关闭centos大页及swappiness