Ubuntu 每次启动时运行 sysctl -p 的方法是什么?

Ubuntu 每次启动时运行 sysctl -p 的方法是什么?

我对 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) 已经为您完成了这一操作。

相关内容