我正在运行 Ubuntu 14.0.4 LTS,并尝试更改一些默认值以进行优化。
我跑sysctl -a查看所有值。
我有/etc/sysctl.conf和/etc/sysctl.d/其中包含几个 10-*.conf 文件。
我想改变net.ipv4.tcp_max_syn_backlog值,但它不存在于上述任何配置文件中。
a) 我是否只需在任意一个文件中输入新值?默认值存储在哪里?
b)改变值后我应该运行服务进程启动或者系统控制-p?
我读到过配置文件可以位于以下位置:
- /run/sysctl.d/*.conf(我的系统中不存在)
- /usr/local/lib/sysctl.d/*.conf(我的系统中不存在)
- /usr/lib/sysctl.d/*.conf(我的系统中不存在)
- /lib/sysctl.d/*.conf(我的系统中不存在)
- /etc/sysctl.d/*.conf
- /etc/sysctl.conf
提前致谢
答案1
内核运行时参数的默认值是在内核(模块)编译时选择/设置的。sysctl
用于读取这些参数并允许您在系统启动和运行时修改/覆盖这些参数。
就我个人而言,我从未使用过任何其他文件/etc/sysctl.conf
,而是用它sysctl -p
来验证我设置的新参数的语法。
(除非我sysctl
根本不使用并直接操作内核参数,例如使用传统的echo 1 > /proc/sys/net/ipv4/ip_forward
)