linux TIME_WAIT過多的解決方法
查看TCP狀態(tài):netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看SOCKET狀態(tài):cat /proc/net/sockstat
TIME_WAIT狀態(tài)的socket一般需要等到2msl時間后,socket才會被回收。
修改(添加)系統(tǒng)內(nèi)核參數(shù):/etc/sysctl.conf
#改系統(tǒng)默認(rèn)的TIMEOUT時間
net.ipv4.tcp_fin_timeout=2
#啟重用,允許將TIME-WAIT sockets重新用于新的TCP連接 默認(rèn)為0表示關(guān)閉
net.ipv4.tcp_tw_reuse=1
#開啟TCP連接中TIME-WAIT sockets的快速回收 默認(rèn)為0 表示關(guān)閉
net.ipv4.tcp_tw_recycle=1
使新增參數(shù)生效:sysctl -p
net.ipv4.tcp_fin_timeout=2
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
運維QQ交流群:171586999