我们有一台 Linux 机器(Redhat 6)
当我们打印所有参数时,/etc/sysctl.conf我们只看到大约 20 个,但是当我们执行时,sysctl -a我们看到 200 多个。
那么从哪里sysctl -a打印所有这些参数?
或者例如当我们做
sysctl -w variable=value
Run Code Online (Sandbox Code Playgroud)
如何知道变量应该保存在哪里?
如何知道每个参数是动态的还是静态的?
Sysctl设置存储在内核中。这些设置会影响内核行为;基本上,它们是系统上运行的程序可以读取和写入的内核变量。
\n\n当内核启动时,每个 sysctl 设置都有一个默认值。该值可以通过命令等程序随时更改sysctl,或者在 Linux 下通过写入/proc/sys.
该文件/etc/sysctl.conf不会在运行时确定设置的值。它仅在启动时使用,以更改编译到内核中的默认值的某些设置。如果您对 进行了一些更改/etc/sysctl.conf,则可以通过重新启动 sysctl 将它们作为一个整体应用 \xe2\x80\x9cservice\xe2\x80\x9d \xe2\x80\x94\xc2\xa0the sysctl 服务不对应对于正在运行的进程来说,它是一个伪服务,仅在启动时将设置加载到内核中。
如果您想要更改设置以便在重新启动后保留该值,请将其添加到/etc/sysctl.conf. 要临时应用设置或尝试设置,请使用sysctl或echo \xe2\x80\xa6 >/proc/sys/\xe2\x80\xa6。