0
一段時間我有偵聽客戶端請求的Java服務器後連接。 這是一個多線程環境。經過一段時間後,服務器開始拒絕新的連接,並丟棄已經建立的已建立的連接。 Java服務器正在linux機器上運行。TCP套接字開始丟棄在Java
誰能幫助無論是機器問題還是代碼的問題。 linux有1677216 tcp_wmem和tcp_rmem。
一段時間我有偵聽客戶端請求的Java服務器後連接。 這是一個多線程環境。經過一段時間後,服務器開始拒絕新的連接,並丟棄已經建立的已建立的連接。 Java服務器正在linux機器上運行。TCP套接字開始丟棄在Java
誰能幫助無論是機器問題還是代碼的問題。 linux有1677216 tcp_wmem和tcp_rmem。
這是不可能給出一個確切的回答你的問題沒有看到你的代碼,但你可能會想嘗試一些建議是,限制你的線程數到一個較小的數字,並檢查您是否正確或不關閉套接字。
是線程數是正常的,我正在使用一個線程池,一旦我關閉了一個連接,線程仍然保留在線程池中。然後,如果有新的請求到達,我使用池中的舊線程開始通信。 – vicky
你真的應該張貼你的源代碼,以獲得別人的幫助IMO。 – wonhee
很明顯,您的Java服務器有一處資源泄漏,可能是一處套接字泄漏。 – EJP
實際上,當只有600個併發TCP連接時,它工作正常。但是當我增加負載多達1000個連接。 3天后開始降低連接數量。 – vicky