通过设置sysctl.conf文件参数来调整内核参数。
首先我们来看那/proc/sys目录下的文件与sysctl.conf参数文件的关系。
在 /proc/sys/kernel目录下查看shmmax参数设置的大小
[root@node156 etc]# cat /proc/sys/kernel/shmmax
4294967295
查看sysctl.conf文件shmmax 参数设置大小
[root@node156 etc]# vim sysctl.conf
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 4294967295
现在我们调整sysctl.conf中kernel.shmmax的参数大小,然后查看/proc/sys/kernel/shmmax是否变化。
[root@node156 etc]# vim sysctl.conf
kernel.shmmax =4294967299
[root@node156 etc]# sysctl -p
查看[root@node156 etc]# cat /proc/sys/kernel/shmmax
3
此处值3,说明调整了sysctl.conf的参数后相应的/proc/sys目录下与sysctl.conf参数对应的文件值变化了。
网上有人总结syctl.conf与/proc/sys下文件对应关系规律为:
1.去掉前面部分/proc/sys
2.将文件名中的斜杠变为点
例如shmmax对应关系如下:
/proc/sys/kernel/shmmax=》kernel.shmmax
我们查看sysctl帮助文档,有如下的描述:
sysctl - configure kernel parameters at runtime
is used to modify kernel parameters at runtime. The parameters available are those listed under
/proc/sys/. Procfs is required for sysctl(8) support in Linux. You can use sysctl(8) to both read and write
sysctl data.
The name of a key to read from. An example is kernel.ostype. The '/' separator is also accepted in place of a '.'.
显示所有的当前可以设置的参数值:
sysctl -a
Display all values currently available.
-A Same as -a
EXAMPLES
/sbin/sysctl -a
/sbin/sysctl -n kernel.hostname
/sbin/sysctl -w kernel.domainname="example.com"
/sbin/sysctl -p /etc/sysctl.conf