TIME_WAIT状态能够经过优化服务器参数获得解决,由于发生TIME_WAIT的状况是服务器本身可控的,要么就是对方链接的异常,要么就是本身没有迅速回收资源,总之不是因为本身程序错误致使的。服务器
若是一直保持在CLOSE_WAIT状态,那么只有一种状况,就是在对方关闭链接以后服务器程序本身没有进一步发出ack信号。换句话说,就是在对方链接关闭以后,程序里没有检测到,或者程序压根就忘记了这个时候须要关闭链接,因而这个资源就一直被程序占着。对于经过服务器内核参数也没办法解决,服务器对于程序抢占的资源没有主动回收的权利,除非终止程序运行。ide
经过lsof -i | grep CLOSE_WAIT 查出哪一个进程占用close_wait。需重启进程才能解决。优化