TIME_WAIT和CLOSE_WAIT

对于保持大量TIME_WAIT或 CLOSE_WAIT状态解决办法。shell

服务器命令:服务器

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

显示信息:网络

TIME_WAIT 108tcp

CLOSE_WAIT 1021优化

ESTABLISHED 44spa

FIN_WAIT2 11code

LAST_ACK 1进程

经常使用的三个状态是:ESTABLISHED 表示正在通讯,TIME_WAIT 表示主动关闭,CLOSE_WAIT 表示被动关闭。资源

对于 保持大量TIME_WAIT 或 CLOSE_WAIT 状态 ,理解和解决办法:class

TIME_WAIT:

    主动发起关闭的一方最终会进入TIME_WAIT状态,TIME_WAIT会持续一段时间,通常是2MSL,其目的是为了实现TCP全双工链接的终止,并容许老的重复分节从网络中消逝。

    优化服务器,可以快速回收和重用那些TIME_WAIT的资源。

CLOSE_WAIT:

    被动关闭的一方进入CLOSE_WAIT状态,CLOSE_WAIT的意思是等待应用进程调用close()。

    查代码。问题必定出如今服务器程序,对方关闭链接以后服务器程序本身没有进一步发出ack信号。

相关文章
相关标签/搜索