我们有一台Linux机器(Redhat 6)
当我们从/etc/sysctl.conf打印所有参数时,我们只看到~20
但是当我们执行sysctl -a时,我们看到超过200个.
那么sysctl -a从哪里打印所有这些参数?
或者例如当我们这样做时
sysctl -w variable=value
如何知道应该保存变量的位置?
如果它是动态的还是静态的,如何知道每个参数?
解决方法:
Sysctl设置存储在内核中.这些设置会影响内核行为;基本上,它们是内核的变量,系统上运行的程序可以读写.
内核引导时,每个sysctl设置都有一个默认值.可以通过诸如sysctl命令之类的程序随时更改此值,或者在Linux下,通过写入/ proc / sys下的相应文件来更改此值.
文件/etc/sysctl.conf在运行时不确定设置的值.它仅在启动时使用,从编译到内核的默认值更改某些设置.如果您对/etc/sysctl.conf进行了一些更改,则可以通过重新启动sysctl“service”将它们作为一个整体应用 – sysctl服务与正在运行的进程不对应,它是一个只加载的伪服务启动时内核中的设置.
如果要更改设置以便在重新引导后保留该值,请将其添加到/etc/sysctl.conf.要临时应用设置或尝试使用,请使用sysctl或echo …> / proc / sys / ….