在 Linux 中,允许你更改、启用以及停用内核运行时参数,RHEL 也不例外。当操作条件发生变化时,/proc/sys
接口(sysctl)允许你实时设置运行时参数改变系统行为,而不需太多麻烦。
为了实现这个目的,会用 shell 内建的 echo 写 /proc/sys/
中的文件,其中
一般是以下目录中的一个:
要显示所有当前可用值的列表,运行
#sysctl-a |less
在第一部分中,我们通过以下命令改变了 net.ipv4.ip_forward
参数的值以允许 Linux 机器作为一个路由器。
#echo1>/proc/sys/net/ipv4/ip_forward
另一个你可能想要设置的运行时参数是 kernel.sysrq
,它会启用你键盘上的 Sysrq
键,以使系统更好的运行一些底层功能,例如如果由于某些原因冻结了后重启系统:
#echo1>/proc/sys/kernel/sysrq
要显示特定参数的值,可以按照下面方式使用 sysctl
:
#sysctl
例如,
#sysctl net.ipv4.ip_forward
#sysctl kernel.sysrq
有些参数,例如上面提到的某个,只需要一个值,而其它一些(例如 fs.inode-state
)要求多个值:
查看内核参数
不管什么情况下,做任何更改之前你都需要阅读内核文档。
请注意系统重启后这些设置会丢失。要使这些更改永久生效,我们需要添加内容到 /etc/sysctl.d
目录的 .conf 文件,像下面这样:
#echo"net.ipv4.ip_forward = 1">/etc/sysctl.d/10-forward.conf
(其中数字 10 表示相对同一个目录中其它文件的处理顺序)。
并用下面命令启用更改:
#sysctl-p /etc/sysctl.d/10-forward.conf