如何在 CentOS 上禁用透明大页面
你好呀!我想向您展示如何在 CentOS 7 上禁用透明大页面。您可能会问的第一个问题 - 为什么您甚至想要禁用透明大页面 (THP)?好吧,当您将服务器用于数据库目的并且您拥有 MySQL、Oracle 或 MongoDB 等工具时,建议出于性能目的禁用 THP。
如何检查 THP 是否启用?
为了测试 THP,您需要检查两个文件:
cat /sys/kernel/mm/transparent_hugepage/enabled
cat /sys/kernel/mm/transparent_hugepage/defrag
方括号[]
中的值是当前有效值。如果你有[never]
这意味着透明的大页面被禁用。如果您有[always]
- THP 已启用。
如何手动禁用 THP?
如果要禁用 THP,可以通过键入以下两个命令手动执行此操作:
echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled
echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag
您可以再次对文件进行分类以查看值是否更改为[never]
如何自动禁用 THP?
在您重新启动服务器之前,上述方法工作正常。它将在系统重新启动时打开。为了在系统启动时禁用它们,您需要使用将禁用 THP 的脚本添加单元文件。
创建以下文件:
sudo vi /etc/systemd/system/disable-thp.service
并粘贴以下内容:
[Unit]
Description=Disable Transparent Huge Pages (THP)
[Service]
Type=simple
ExecStart=/bin/sh -c "echo 'never' > /sys/kernel/mm/transparent_hugepage/enabled && echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag"
[Install]
WantedBy=multi-user.target
保存文件并重新加载 SystemD 守护进程:
sudo systemctl daemon-reload
您可以启动脚本并在启动级别启用它:
sudo systemctl start disable-thp
sudo systemctl enable disable-thp
喜欢请赞赏一下啦^_^
微信赞赏
支付宝赞赏