sysctl
可以动态修改内核的参数。可以修改的参数可以在/proc/sys/
目录下查看,包含一些TCP/IP
堆栈和虚拟内存系统的高级选项。经验丰富的人员可以通过合理配置这些参数来提高系统的性能。采用sysctl
既可以读又可以写系统参数。
命令格式
sysctl (选项) (参数)
例子:
sysctl [-n] [-e] variable …
sysctl [-n] [-e] [-q] -w variable=value …
sysctl [-n] [-e] [-q] -p [filename]
sysctl [-n] [-e] -a
sysctl [-n] [-e] -A
选项:
-n:打印值时不打印关键字;
-e:忽略未知关键字错误;
-N:仅打印名称;
-w:当改变sysctl设置时使用此项;
-p:从配置文件“/etc/sysctl.conf”加载内核参数设置;
-a:打印当前所有可用的内核参数变量和值;
-A:以表格方式打印当前所有可用的内核参数变量和值。
参数:
- 变量=值:设置内核参数对应的值。注意等号两端不能有空格。
实例
查看系统变量
sysctl -a //显示当前所有可用的内核参数
sysctl kernel.hostname //读特定的内核参数,比如kernel.hostname
sysctl -a | grep hostname //显示名称中带有“hostname”关键字的内核参数
修改系统变量
sysctl -w kernel.hostname=abc //把hostname改为abc
简略一点:
sysctl kernel.hostname=abc //把hostname改为abc
从配置文件加载内核参数
sysctl -p //从配置文件sysctl.conf中加载内核参数
修改系统变量有两种方式,一种是上述修改系统变量
中的命令行方式,另一种是修改sysctl.conf
文件。sysctl.conf
文件一般在系统的/etc
目录下。在最后一行输入如下语句:
kernel.hostname=abc
然后需要执行sysctl -p
指令更新修改的内核参数配置文件,使其生效。