Linux内核参数众多,大多用来控制网路,内存,文件等重要配置,本篇博客持续更新常用的Linux内核调优参数。
sysctl -a
:列出目前系统所有的内核参数
sysctl -w
:临时应用变量
sysctl -p
:从 /etc/sysctl.conf 或者 /etc/sysctl.d/*.conf 中读取并应用变量
::: tip
内核
:::
::: tip
文件
:::
::: tip
网络
:::
net.ipv4.ip_forward=1
允许内核转发,所谓转发即当主机拥有多于一块的网卡时,其中一块收到数据包,根据数据包的目的ip地址将数据包发往本机另一块网卡,该网卡根据路由表继续发送数据包。
net.ipv4.tcp_syn_retries=5
设置syn包的最大重传次数,默认值为5
net.ipv4.tcp_synack_retries=5
设置syn+ack包的最大重传次数,默认值为5
net.ipv4.ip_local_port_range
修改可用端口范围,默认值32768 60099
net.ipv4.icmp_echo_ignore_all=1
禁止icmp请求
net.ipv4.icmp_echo_ignore_broadcasts=1
禁止内网广播icmp请求
net.ipv4.tcp_tw_recycle=1
打开快速 TIME-WAIT sockets 回收,服务器端不推荐开启,否则会出现同一NAT环境客户端有的不能访问
net.ipv4.tcp_tw_reuse=1
表示允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接
::: tip
内存
:::
vm.nr_pdflush_threads
显示pdflush线程个数,这个个数只能由系统决定,不能更改
vm.drop_caches
手动清空内存选项
echo 1 > /proc/sys/vm/drop_caches:清空文件页缓存
echo 2 > /proc/sys/vm/drop_caches:清空目录及inode缓存
echo 3 > /proc/sys/vm/drop_caches:同时清空文件页,目录以及inode缓存
swappiness
配置使用虚拟内存的意向,0-100,数值越大表示越可能使用虚拟内存;配置为0也可能会使用虚拟内存,除非完全不使用虚拟内存