在 sysctl 中找不到默认值 - Ubuntu

在 sysctl 中找不到默认值 - Ubuntu

我正在运行 Ubuntu 14.0.4 LTS,并尝试更改一些默认值以进行优化。

我跑sysctl -a查看所有值。

我有/etc/sysctl.conf/etc/sysctl.d/其中包含几个 10-*.conf 文件。

我想改变net.ipv4.tcp_max_syn_backlog值,但它不存在于上述任何配置文件中。

a) 我是否只需在任意一个文件中输入新值?默认值存储在哪里?

b)改变值后我应该运行服务进程启动或者系统控制-p

我读到过配置文件可以位于以下位置:

  1. /run/sysctl.d/*.conf(我的系统中不存在)
  2. /usr/local/lib/sysctl.d/*.conf(我的系统中不存在)
  3. /usr/lib/sysctl.d/*.conf(我的系统中不存在)
  4. /lib/sysctl.d/*.conf(我的系统中不存在)
  5. /etc/sysctl.d/*.conf
  6. /etc/sysctl.conf

提前致谢

答案1

内核运行时参数的默认值是在内核(模块)编译时选择/设置的。sysctl用于读取这些参数并允许您在系统启动和运行时修改/覆盖这些参数。

就我个人而言,我从未使用过任何其他文件/etc/sysctl.conf,而是用它sysctl -p来验证我设置的新参数的语法。
(除非我sysctl根本不使用并直接操作内核参数,例如使用传统的echo 1 > /proc/sys/net/ipv4/ip_forward

相关内容