Linux

一段時間後的Ubuntu自定義伺服器:對等方重置連接

  • October 16, 2011

我有一個 linux 伺服器程序。我注意到在2 或 3 天后,伺服器停止響應。當我查看伺服器日誌時,我發現“對等連接重置”消息。

我必須重新啟動伺服器。一切正常,然後在2 或 3 天后,出現同樣的問題。

任何幫助,將不勝感激。

編輯:對不起,有點描述。

這是我編寫的一個接受 TCP 連接的簡單伺服器。它在 C# 中,我使用單聲道。我按如下方式啟動伺服器:nohup mono StartServer.exe &

在與日誌相同的目錄中創建一個名為 nohup.out 的文件。2-3天后,我發現單聲道程序仍然存在。但是客戶端(silverlight 客戶端)無法連接到伺服器:它們會收到“拒絕訪問”消息。實際上,即使伺服器關閉,也會收到“拒絕訪問”消息。所以我猜,伺服器沒有響應。

當我查看 nohup.out 文件時,我發現錯誤消息“對等方重置連接”。

實際上,我最初計劃將它託管在 Windows 伺服器上,但發現它在 linux 伺服器上也能正常工作。由於我對 linux 不是很有經驗,我在想我是否錯過了一個明顯的配置。

令我困惑的是,一切正常,直到大約 3 天。

我正在對其進行負載測試,使一個客戶端與伺服器有多個連接,並發現我在一天內遇到了同樣的錯誤。連接數約為 30。

我會跑的

# netstat -anp

# lsof -n

查看是否存在連接或文件句柄洩漏。我懷疑連接或文件沒有正確關閉,並且它在一段時間後通過了 1024 個打開文件(這是一次打開文件的預設限制,除非用 ulimit 更改) - 這再次會阻止它創建新的連接。

引用自:https://serverfault.com/questions/321789