time_wait和close_wait
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了time_wait和close_wait相关的知识,希望对你有一定的参考价值。
TIME_WAIT状态可以通过优化服务器参数得到解决,因为发生TIME_WAIT的情况是服务器自己可控的,要么就是对方连接的异常,要么就是自己没有迅速回收资源,总之不是由于自己程序错误导致的。如果一直保持在CLOSE_WAIT状态,那么只有一种情况,就是在对方关闭连接之后服务器程序自己没有进一步发出ack信号。换句话说,就是在对方连接关闭之后,程序里没有检测到,或者程序压根就忘记了这个时候需要关闭连接,于是这个资源就一直被程序占着。对于通过服务器内核参数也没办法解决,服务器对于程序抢占的资源没有主动回收的权利,除非终止程序运行。
通过lsof -i | grep CLOSE_WAIT 查出哪个进程占用close_wait。需重启进程才能解决。
以上是关于time_wait和close_wait的主要内容,如果未能解决你的问题,请参考以下文章
通过实践带你揭开TCP中CLOSE_WAIT和TIME_WAIT的神秘面纱
服务器TIME_WAIT和CLOSE_WAIT详解和解决办法