通過設置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