实时调整系统内核参数
sysctl [-n] [-e] variables
sysctl [-n] [-e] [-q] -w variable=value …
sysctl [-n] [-e] [-q] -p [file]
sysctl [-n] [-e] –a|-A
利用sysctl命令,可以实时地设置、修改系统内核参数。其中,variables是一个或一组内核参数变量,如kernel.shmax,表示最大的共享内存段限制(中间的句点“.”可以换作斜线“/”字符,表示变量的层次)。
第一种语法格式主要用于显示指定内核参数的当前设置。第二种语法格式用于临时设置少量的指定内核参数。第三种语法格式采用指定或默认的配置文件,批量地设置内核参数。利用第四种语法格式可以查询系统内核所有参数的当前设置。
注意,可调整的内核参数变量位于/proc/sys目录。利用cat等命令,可以直接查看内核参数的当前设置。
-a 显示系统内核所有参数的当前设置。
-A 以表格形式显示系统内核所有参数的当前设置。
-e 即使指定的内核参数变量有误时,也不显示错误信息。
-n 显示系统内核参数时禁止输出参数变量的名字。
-p [file] 指定内核参数配置文件,默认的配置文件是/etc/sysctl.conf。如果指定的文件名为“-”,则意味着从标准输入读取内核参数设置数据。
-q 设置系统内核参数时,禁止输出设置后的结果。
-w variable=value 把指定的内核参数设置成指定的值。当指定的值包含多个字段或Shell特殊字符时,前后需加双引号。利用“-w”选项,可以同时定义多个内核参数。
1. 使用sysctl命令查询系统内核当前的所有参数设置。
$ sysctl -a
2. 假定想把系统内核的最大共享内存段参数临时改为64MB,可以使用下列命令:
# sysctl -w kernel.shmmax=67108864 kernel.shmmax = 67108864 #
3. 若想一劳永逸地修改系统内核参数,可以编辑/etc/sysctl.conf配置文件,增加诸如下列形式的内核参数设置,以便在系统启动过程中通过运行“sysctl -e -p /etc/sysctl.conf”命令自动设置系统内核参数:
kernel.shmmax = 67108864 net.ipv4.ip_forward = 1
索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z