Quantcast
Channel: 蜗牛都知道
Viewing all articles
Browse latest Browse all 105

java.net.BindException: Address already in use: connect

$
0
0

来源:89099733

大概原因是短时间内new socket操作很多,而socket.close()操作并不能立即释放绑定的端口,而是把端口设置为TIME_WAIT状态,过段时间(默认240s)才释放,(用netstat -na可以看到),最后系统资源耗尽(windows上是耗尽了pool of ephemeral ports ,这段区间在1024-5000之间; )

避免出现这一问题的方法有两个:

1、一个是调高你的web服务器的最大连接线程数调到1024,2048都还凑合

2、另一个是修改运行web服务器的机器的操作系统网络配置把time wait的时间调低一些


Viewing all articles
Browse latest Browse all 105

Trending Articles