我想在mysql启动之前(启动时)将这些命令添加到Linux内核中:
echo never> /sys/kernel/mm/transparent_hugepage/enabled echo never> /sys/kernel/mm/transparent_hugepage/defrag
这是我正在运行的应用程序的必要规范。
你可以在MySQL启动之前通过编辑mysql启动脚本来运行这些命令。 但是最好通过编辑你的/etc/sysfs.conf来使这些设置保持/etc/sysfs.conf 。
如果你想禁用透明的巨大页面,你应该添加:
kernel/mm/transparent_hugepage/enabled = never
到你的sysctlconfiguration。
编辑好你的sysctlconfiguration后,你可以重新读取configuration:
sysctl -p path/to/your/sysctl/config
sysctlconfiguration文件的位置取决于您使用的分配。 您应该能够通过查看sysctl手册页man sysctl来确定文件。 path应该列在FILES结尾处
像Ubuntu这样基于Debian的发行版似乎使用/etc/sysfs.conf ,基于RedHat的发行版似乎使用/etc/sysctl.conf 。
如果你真的想通过启动脚本来改变设置,你可以编辑你的/etc/rc.local并添加下面这/etc/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
但编辑/etc/sysfs.conf会更清洁。
如果你需要更多的信息,我build议阅读这个https://askubuntu.com/问题。