在安装某些应用软件时需要关闭Transparent HugePages(THP),如新版Apache Doris,关闭方法总结如下:
执行命令

echo "never" >> /sys/kernel/mm/transparent_hugepage/enabled
echo "never" >> /sys/kernel/mm/transparent_hugepage/defrag
  • 1.
  • 2.

上述命令执行后实时生效,不需要重启机器(重启后失效)。执行成功后再看状态

cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
  • 1.
  • 2.

为做到开机自启动,把这两个命令加入开机执行,防止重启后失效

vi /etc/rc.d/rc.local

#!/bin/bash
echo "never" >> /sys/kernel/mm/transparent_hugepage/enabled
echo "never" >> /sys/kernel/mm/transparent_hugepage/defrag
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

添加可执行权限

chmod a+x /etc/rc.d/rc.local
  • 1.

上述rc.local后续可能不推荐,可以自定义一个可执行脚本+服务
启动脚本

vi /opt/local-env-set.sh

#!/bin/bash
echo "never" >> /sys/kernel/mm/transparent_hugepage/enabled
echo "never" >> /sys/kernel/mm/transparent_hugepage/defrag
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
chmod a+x /opt/local-env-set.sh
  • 1.

编写服务

vim /usr/lib/systemd/system/local-env-set.service

[Unit]
Description=Local Environment Setting
ConditionFileIsExecutable=/opt/local-env-set.sh
After=network.target

[Service]
Type=forking
ExecStart=/opt/local-env-set.sh start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no

[Install]
WantedBy=multi-user.target
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

配置自启动

sudo systemctl daemon-reload
sudo systemctl enable local-env-set.service
  • 1.
  • 2.