tomcat报错java.net.BindException: Address already in use

原文链接:http://www.wenhq.com/article/view_374.html

tomcat报错java.net.BindException: Address already in use,只是不能访问tomcat了,稍等一会就正常了。
大概原因是短时间内new socket操作很多,而socket.close()操作并不能立即释放绑定的端口,而是把端口设置为TIME_WAIT状态,过段时间(默认 240s)才释放,(用netstat -na可以看到),最后系统资源耗尽(windows上是耗尽了pool of ephemeral ports ,这段区间在1024-5000之间; )


避免出现这一问题的方法有两个,一个是调高你的web服务器的最大连接线程数,调到1024都还凑合,在tomcat中的web.xml文件中修改
maxThreads="1024" minSpareThreads="25" maxSpareThreads="100"
enableLookups="false" redirectPort="8443" acceptCount="500"
connectionTimeout="20000" disableUploadTimeout="true" />

No related posts.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章