sysctl命令被用于在内核运行时动态地修改内核的运行参数,可用的内核参数在目录“/proc/sys”中。
它包含一些TCP/ip堆栈和虚拟内存系统的高级选项, 这可以让有经验的管理员提高引人注目的系统性能。用sysctl可以读取设置超过五百个系统变量。
sysctl命令对内核参数的修改仅在当前生效,重启系统后参数丢失。如果希望参数永久生效可以修改配置文件“/etc/sysctl.conf”。
**语法格式:** sysctl [参数]
**常用参数:**
| -n | 打印值时不打印关键字 |
| ---- | ------------------------------------------------ |
| -e | 忽略未知关键字错误 |
| -N | 仅打印名称 |
| -w | 当改变sysctl设置时使用此项 |
| -p | 从配置文件“/etc/sysctl.conf”加载内核参数设置 |
| -a | 打印当前所有可用的内核参数变量和值 |
| -A | 以表格方式打印当前所有可用的内核参数变量和值 |
**参考实例**
查看所有可读变量:
```
[root@anycode ~]# sysctl -a
```
读一个指定的变量:
```
[root@anycode ~]# sysctl net.ipv6.neigh.lo.locktime
net.ipv6.neigh.lo.locktime = 0
```
修改指定变量的值:
```
[root@anycode ~]# sysctl net.ipv6.neigh.lo.locktime=1
net.ipv6.neigh.lo.locktime = 1
```