sysctl

      sysctl指令用来修改正在运行的内核参数,可以修改的参数都保存在/proc/sys/目录中,修改会立即生效。Linux中的sysctl支持需要Procfs。您可以使用sysctl来读取和写入sysctl数据。

     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、Fedora、SUSE、openSUSE。

 

1、语法

     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

 

2、选项列表


选项



说明



-n



显示内核参数的值,不显示其名称



-e



忽略错误



-N



只显示名字



-q



不在标准输出显示值



-w



复制的时候需要



-p



加载sysctl的设置情况



-a | -A



显示所有内核参数的值和名字



variable



读取的变量名,可以用“/”做分隔符



variable=value



如果value包含由shell解析的引号或字符,则可能需要将该值括在双引号中。这需要使用-w参数。


 

3、实例

显示所有的内核参数 


​[root@localhost ntop-4.0.1]#sysctl –a                  //​​显示所有的内核参数名字和值

​…​

​sunrpc.transports = tcp 1048576​

​sunrpc.transports = udp 32768​

​sunrpc.transports = tcp-bc 1048576​

​sunrpc.udp_slot_table_entries = 16​

​sunrpc.tcp_slot_table_entries = 2​

​sunrpc.tcp_max_slot_table_entries = 65536​

​sunrpc.min_resvport = 665​

​sunrpc.max_resvport = 1023​

​sunrpc.tcp_fin_timeout = 15​