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.


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