Linux性能优化可通过/proc/sys动态调优:一、增大TCP连接队列;二、调低swappiness和vfs_cache_pressure以减少swap与缓存回收;三、提升网络收发缓冲区上限;四、禁用rp_filter避免路由异常;五、缩短tcp_fin_timeout并启用tcp_tw_reuse缓解端口耗尽。

如果您希望优化Linux系统的运行性能,可以通过修改/proc/sys下的内核参数来实现动态调优。以下是几种常用且有效的调优方法:
一、调整TCP连接队列大小
增大TCP连接的SYN队列和全连接队列,有助于应对突发性高并发连接请求,减少连接丢弃概率。
1、查看当前net.ipv4.tcp_max_syn_backlog值:cat /proc/sys/net/ipv4/tcp_max_syn_backlog
2、临时修改该值为65535:echo 65535 > /proc/sys/net/ipv4/tcp_max_syn_backlog
3、查看当前net.core.somaxconn值:cat /proc/sys/net/core/somaxconn
4、临时修改该值为65535:echo 65535 > /proc/sys/net/core/somaxconn
二、优化内存回收与交换行为
通过控制内核对匿名页和文件页的回收倾向,可降低不必要的swap使用,提升响应速度。
1、查看当前vm.swappiness值:cat /proc/sys/vm/swappiness
2、临时将其设为10以抑制swap使用:echo 10 > /proc/sys/vm/swappiness
3、查看当前vm.vfs_cache_pressure值:cat /proc/sys/vm/vfs_cache_pressure
4、临时设为50以减缓inode/dentry缓存回收:echo 50 > /proc/sys/vm/vfs_cache_pressure
三、提升网络数据包处理能力
增加网络接收和发送缓冲区上限,可减少因缓冲区溢出导致的数据包丢弃,改善吞吐量。
1、查看当前net.core.rmem_max值:cat /proc/sys/net/core/rmem_max
2、临时设为16777216(16MB):echo 16777216 > /proc/sys/net/core/rmem_max
3、查看当前net.core.wmem_max值:cat /proc/sys/net/core/wmem_max
4、临时设为16777216:echo 16777216 > /proc/sys/net/core/wmem_max
四、禁用IPv4源路由检查
关闭反向路径过滤(rp_filter)可避免因多网卡拓扑下路由不对称引发的连接中断。
1、查看当前net.ipv4.conf.all.rp_filter值:cat /proc/sys/net/ipv4/conf/all/rp_filter
2、临时设为0以禁用严格反向路径检查:echo 0 > /proc/sys/net/ipv4/conf/all/rp_filter
3、查看当前net.ipv4.conf.default.rp_filter值:cat /proc/sys/net/ipv4/conf/default/rp_filter
4、临时设为0:echo 0 > /proc/sys/net/ipv4/conf/default/rp_filter
五、加快TIME_WAIT状态释放
缩短TIME_WAIT套接字的持续时间,并允许重用处于该状态的端口,可缓解高并发短连接场景下的端口耗尽问题。
1、查看当前net.ipv4.tcp_fin_timeout值:cat /proc/sys/net/ipv4/tcp_fin_timeout
2、临时设为30秒:echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
3、查看当前net.ipv4.tcp_tw_reuse值:cat /proc/sys/net/ipv4/tcp_tw_reuse
4、临时启用TIME_WAIT套接字重用:echo 1 > /proc/sys/net/ipv4/tcp_tw_reuse










