命令
sysctl
描述
configure kernel parameters at runtime
在系统运行状态下更改内核参数
用法
1 2
| sysctl [options] [variable[=value]] [...] sysctl -p [file or regexp] [...]
|
选项
1 2 3 4 5 6 7 8 9 10 11
| Options: -a, --all 显示所有变量 -b, --binary 不换行显示变量值 -e, --ignore 忽略未知变量 -N, --names 显示变量名 -n, --values 显示变量值 -q, --quiet 静默模式,不显示值的设置 -w, --write 临时更改变量值 -p,-f,--load[=<file>] 从文件读取变量,留空则默认读取/etc/sysctl.conf -r, --pattern <expression> 正则匹配(经测试无效) --system 从系统目录中读取变量配置,包括/usr/lib/sysctl.d/*,/etc/sysctl.d/*,/etc/sysctl.conf
|
注意
如果主配置文件/etc/sysctl.conf
中包括多个相同的变量设置,则后者会覆盖前者,以最后一次设置为准;
如果多个子配置文件/etc/sysctl.d/*
中包括相同的变量设置,则以ls
命令列出的顺序依次读取,以读取的最后一个文件中的设置为准;
如果主配置文件和子配置文件中包括同一变量设置,则以主配置文件为准.
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| $ ll /etc/sysctl.conf -rw-r--r-- 1 root root 1808 Mar 16 16:42 /etc/sysctl.conf $ ll /etc/sysctl.d/ lrwxrwxrwx. 1 root root 14 Jan 7 22:48 99-sysctl.conf -> ../sysctl.conf
$ sysctl -a |grep fs.file-max fs.file-max = 655350
$ sysctl fs.file-max fs.file-max = 655350
$ sysctl -n fs.file-max 655350
$ sysctl -ar file fs.file-max = 655350 fs.file-nr = 1120 0 655350 fs.xfs.filestream_centisecs = 3000
$ sysctl -aNr file fs.file-max fs.file-nr fs.xfs.filestream_centisecs $ sysctl -ar forward$ net.ipv4.ip_forward = 1
$ sysctl -ar 'net.ipv4.conf.(eth|wlan)0.arp' net.ipv4.conf.eth0.arp_accept = 0 net.ipv4.conf.eth0.arp_announce = 0 net.ipv4.conf.eth0.arp_filter = 0 net.ipv4.conf.eth0.arp_ignore = 0 net.ipv4.conf.eth0.arp_notify = 0
$ sysctl -w fs.file-max=65535 fs.file-max = 65535
$ vim /etc/sysctl.conf fs.file-max = 65535
$ sysctl -p $ sysctl -qp
$ sysctl --system | grep Applying * Applying /usr/lib/sysctl.d/00-system.conf ... * Applying /usr/lib/sysctl.d/10-default-yama-scope.conf ... * Applying /usr/lib/sysctl.d/50-default.conf ... * Applying /etc/sysctl.d/99-sysctl.conf ... * Applying /etc/sysctl.conf ...
|