如何在linux启动mysql之前添加内核命令

我想在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/问题。