linux上大量tcp埠處於TIME_WAIT的問題

edwardking888發表於2010-06-08

檢視 系統中存在大量處於TIME_WAIT狀態的tcp埠:

$netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
TIME_WAIT 50013
ESTABLISHED 27
SYN_RECV 1

修改了幾個系統核心的tcp引數緩解了該問題:

#vi /etc/sysctl.conf

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

#sysctl -p

其中:
net.ipv4.tcp_tw_reuse = 1 表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連線,預設為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1 表示開啟TCP連線中TIME-WAIT sockets的快速回收,預設為0,表示關閉。

 

注意:

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

這2個引數慎用,本人在做一些資料庫壓力測試的時候,導致網路卡關閉。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8183550/viewspace-664653/,如需轉載,請註明出處,否則將追究法律責任。

相關文章