2011-10-13 140 views
0

在運行Introscope的RHEL 5.4上遇到FIN_WAIT1問題。我目前觀察到的情況是,只要我們使用Introscope監視的目標JVM掛起,在該主機上運行的代理停止發送數據,並且一段時間後服務器上的套接字(Introscope Server)進入FIN_WAIT1狀態,並且它仍然保留很長一段時間,如果我們重新啓動目標JVM,它會被清理乾淨。FIN_WAIT Java監視應用程序問題

我想知道這是因爲Introscope中的錯誤而發生,還是與TCP層有關。

回答

0

FIN_WAIT1位於TCP層 - 這意味着您的計算機的tcp堆棧正在等待來自另一端TCP堆棧的一個連接關閉消息。它通常不會造成太大的傷害,除非在超時之前採取一些微小的內核狀態。但有時它可能會阻止您在同一端口上重新啓動服務器,在這種情況下,您可以在第一次打開套接字之前在套接字上設置SO_REUSESOCKET和/或SO_REUSEPORT選項。 (如果您共享機器,這會產生一些安全隱患。)