sysctl 命令用来配置linux 系统内核参数,这些参数以文件的形式显示在 /proc/sys/ 目录中,配置项就是目录名加文件名,值就是该文件中的内容,但不是所有内核参数都是可以被修改的。
- -a|-A|-x|--all #显示所有内核参数
- -p|--load #重载
- -N|--names #仅显示参数名称
- -n|--values #仅显示参数值
- -w|--write #设置内核参数
修改内核参数
sysctl -w net.ipv4.ip_forward=1
或者
echo 1 > /proc/sys/net/ipv4/ip_forward
或者
vim /etc/sysctl.conf
.....
net.ipv4.ip_forward=1
#重载生效
[root@ubuntu ~]# sysctl -p
系统在启动时,会按下列顺序加载配置文件,读取内核参数值
- /run/sysctl.d/*.conf
- /etc/sysctl.d/*.conf
- /usr/local/lib/sysctl.d/*.conf
- /usr/lib/sysctl.d/*.conf
- /lib/sysctl.d/*.conf
- /etc/sysctl.conf
常用内核参数
- net.ipv4.ip_forward #是否开启ipv4地址转发
- net.ipv4.icmp_echo_ignore_all #是否禁用ping功能
- net.ipv4.ip_nonlocal_bind #允许应用程序可以监听本地不存在的IP
- vm.drop_caches #缓存回收机制 3 回收所有 2 释放数据区和信息节点 3 释放页面缓存
- fs.file-max = 1020000 #内核可以支持的全局打开文件的最大数
- vm.overcommit_memory = 0 #超分 0表示进程申请内存时会判断,不够则返回错误,1表示内核允许分配所有的物理内存,而不管当前的内存状态如何,2表示内核允许分配超过所有物理内存和交换空间总和的内存
- vm.swappiness = 10 #使用swap空间时物量内存还有多少可用,10 表示物理存只有10%时才使用swap
- #禁用IPv6
- net.ipv6.conf.all.disable_ipv6 = 1
- net.ipv6.conf.default.disable_ipv6 = 1