我对 sysctl.conf 做了一些更改,但现在每次启动时都需要运行 sysctl -p。我总是可以创建一个 init 脚本,让它在启动时自动运行,但我想知道是否有 Ubuntu/Debian 的方式来做到这一点。
答案1
有一个更好更优雅的方法:
在 /etc/sysctl.d/ 目录中创建配置文件。
例如,如果由于数据库要求而更改内核参数,请创建一个文件:
/etc/sysctl.d/60-mysql.conf
并在其中添加您自己的参数。要执行它:
service procps restart
请注意:
procps 是一个系统文件,它应该绝不被編輯。
/etc/sysctl.conf 也不应该被编辑,因为它可以在系统/内核升级时更改,如果它与预期的不同,升级将停止,询问是否可以用新版本替换当前版本。
参考: http://manpages.ubuntu.com/manpages/precise/man8/sysctl.8.html
答案2
您将所需的 sysctl 添加到其中/etc/sysctl.conf
,它们将在启动时应用。但是,如果您已更新/etc/sysctl.conf
并希望立即应用它,请运行:
sudo sysctl --system
答案3
在 Ubuntu 上,Upstart 作业procps
( /etc/init/procps.conf
) 已经为您完成了这一操作。