十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
本篇文章為大家展示了怎樣解決線程太多導(dǎo)致javasocket連接池出現(xiàn)的問題,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。
線程太多導(dǎo)致socket連接池爆滿,進(jìn)程啟動不了
問題:
某部機(jī)上跟其它機(jī)器的連接有問題,ping可以通,telnet端口不通,可以其它機(jī)器可以連接到該機(jī)器上的進(jìn)程。
java應(yīng)用啟動不起來,產(chǎn)生以下錯誤。
java.net.SocketException: No buffer space available (maximum connections reached?): listen failed at java.net.PlainSocketImpl.socketListen(Native Method) at java.net.PlainSocketImpl.listen(Unknown Source) at java.net.ServerSocket.bind(Unknown Source) at java.net.ServerSocket.
查找問題:
打開任務(wù)管理器,發(fā)現(xiàn)某個(gè)進(jìn)程產(chǎn)生了上千的大量的線程。
解決方法:
殺死該進(jìn)程后,java應(yīng)用可以成功啟動。
icmp協(xié)議是IP層的附屬協(xié)議,不會用TCP連接,所以正常。而telnet則是HTTP請求報(bào)文,會使用TCP連接。
上述內(nèi)容就是怎樣解決線程太多導(dǎo)致javasocket連接池出現(xiàn)的問題,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。