这个问题很奇怪,linux端口分配会避免端口冲突的,然后检查服务器发现大量tcp连接处于CLOSE_WAIT状态,不过对应的是另外一个项目.
?...CLOSE_WAIT
TCP关闭连接时四次挥手的过程,如下图所示(图来自网络):
?...那么当被动方这个FIN包没有发送成功,那么其就一直处于CLOSE_WAIT状态.那么问题成功转换为以下几个小问题:
大量CLOSE_WAIT有什么危害?...CLOSE_WAIT状态不会自己消失,除非对应的应用进程死掉,不会消失就意味着一直占用服务器资源,端口总数又只有65535,因此这里的服务器作为连接的发起者就会造成大量端口被占用,一旦占用完就导致后面的请求都发不出去...Linux会为每一次请求分配临时端口,这个分配范围在/proc/sys/net/ipv4/ip_local_port_range中有记录,在我这台服务器上其值是20000-65535,大量的CLOSE_WAIT