您的位置:首页 > 大数据 > 人工智能

TIME_WAIT和CLOSE_WAIT

2016-02-24 16:10 661 查看
对于保持大量TIME_WAIT或 CLOSE_WAIT状态解决办法。

服务器命令:

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


显示信息:

TIME_WAIT 108

CLOSE_WAIT 1021

ESTABLISHED 44

FIN_WAIT2 11

LAST_ACK 1

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

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

TIME_WAIT:

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

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

CLOSE_WAIT:

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

查代码。问题一定出现在服务器程序,对方关闭连接之后服务器程序自己没有进一步发出ack信号。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  TIME_WAIT CLOSE_WAIT