1. 概述
sysctl命令能够在Linux系统运行时动态地配置系统内核参数,但是配置结果仅在当前生效,重启后参数将恢复到初始状态,要想永久生效需要将参数写入到/etc/sysctl.conf系统文件中。
-a 显示所有可用的内核参数变量和值
-e 忽略未知关键字错误
-h 显示帮助信息
-N 只输出参数的名称,不输出参数的值
-n 不输出参数的名称,只输出参数的值
-p 从系统文件中加载内核参数,默认从/etc/sysctl.conf文件加载
-f 和-p一样
--system 加载/etc/sysctl.d目录下的所有文件,/usr/lib/sysctl.d/
-V 显示版本信息
-w 临时修改参数的值
2. sysctdl -a : 显示所有可用的内核参数变量和值
# sysctl -a|head -5
abi.vsyscall32 = 1
crypto.fips_enabled = 0
debug.exception-trace = 1
debug.kprobes-optimization = 1
debug.panic_on_rcu_stall = 0
3. sysctl -e: 忽略未知关键字错误
#正确获取某个内核参数的值
]# sysctl vm.swappiness
vm.swappiness = 30
#故意把参数名称写错,不加-e会报错,而加了-e不会报错,但是没有输出结果
]# sysctl 1vm.swappiness
sysctl: cannot stat /proc/sys/1vm/swappiness: No such file or directory
]# sysctl -e 1vm.swappiness
]#
4. sysctl -h : 显示帮助信息
]# sysctl -h
Usage:
sysctl [options] [variable[=value] ...]
Options:
.....
5. sysctl -N : 只输出内核参数的名称,不输出参数的值
]# sysctl -N vm.swappiness
vm.swappiness
6. sysctl -n: 不输出内核参数的名称,只输出参数的值
]# sysctl -n vm.swappiness
30
7. sysctl -p或-f: 从单文件中加载内核参数
默认从/etc/sysctl.conf文件加载
]# cat /etc/sysctl.conf
vm.max_map_count=262144
net.ipv4.ip_forward=1
]# sysctl -p
vm.max_map_count = 262144
net.ipv4.ip_forward = 1
]# sysctl -f
vm.max_map_count = 262144
net.ipv4.ip_forward = 1
8. sysctl --system: 从多文件中加载内核参数
从/etc/sysctl.d/*.conf , /usr/lib/sysctl.d/.conf, /etc/sysctl.conf 文件中加载内核参数
]# cat /etc/sysctl.d/*
vm.max_map_count=262144
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
[root@k8s231 logstash]# sysctl --system
* 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.d/k8s.conf ...
....
* Applying /etc/sysctl.conf ...
...
9. sysctl -V: 显示版本信息
]# sysctl -V
sysctl from procps-ng 3.3.10
10. sysctl -w: 临时修改内核参数的值
]# sysctl -w vm.swappiness=25
vm.swappiness = 25
[root@k8s231 logstash]# sysctl vm.swappiness=25
vm.swappiness = 25
11. 永久修改内核参数的方法:
#文件中修改,系统重启也会加载此文件设置内核参数
]# vim /etc/sysctl.conf
vm.swappiness = 25
#临时从/etc/sysctl.conf中加载内核参数
]# sysctl -p