sysctl命令来自英文词组“system control”的缩写,其功能是用于配置系统内核参数。sysctl命令能够在Linux系统运行时动态地配置系统内核参数,包含TCP/IP堆栈和虚拟内存系统等选项,让有经验的系统管理员更好地优化整台服务器性能,但请注意:配置结果仅在当前生效,重启后参数将恢复到初始状态,要想永久生效需要将参数写入到/etc/sysctl.conf系统文件中。

语法格式:sysctl [参数] [对象]

常用参数:

-a显示所有可用的内核参数变量和值
-e忽略未知关键字错误
-h显示帮助信息
-n输出结果不带关键词
-p从系统文件中加载内核参数
-v显示版本信息

参考示例

查看系统中所有内核参数变量和值:

[root@linux-arae-cc ~]# sysctl -a
abi.vsyscall32 = 1
crypto.fips_enabled = 0
debug.exception-trace = 1
debug.kprobes-optimization = 1
dev.cdrom.autoclose = 1
dev.cdrom.autoeject = 0
dev.cdrom.check_media = 0
dev.cdrom.debug = 0
………………省略部分输出信息………………

读取一个指定系统内核参数变量的值:

[root@linux-arae-cc ~]# sysctl dev.cdrom.debug
dev.cdrom.debug = 0

修改一个指定系统内核参数变量的值:

[root@linux-arae-cc ~]# sysctl dev.cdrom.debug=1
dev.cdrom.debug = 1