2010-10-08 50 views
2

我有一個Java服務器的過程,不重處理。它會間歇性地停止處理,因爲在日誌中止,並且活動停止,但該過程仍處於活動狀態。當Java調試什麼可能導致我的進程掛起

我有這種情況發生在調試幾次。當它在調試器中暫停/中斷時,我可以檢查正在運行的線程並查找停止的原因。但暫停按鈕並不像通常那樣進入程序,只是坐在那裏。我使用IntelliJ IDEA,但我不確定它是否會成爲IDE或具有此問題的JVM。

我試圖闖入該程序出現問題之前,它工作正常,過程停止,我可以通過線程的列表檢查。

沒有人知道爲什麼一個JVM不會在調試暫停響應/打破?以及它如何進入這種情況?我有點卡住了,因爲我沒有辦法診斷這個問題,而不能在程序狀態被破壞時看到它。導致問題的日誌顯示沒有問題。

+0

我已經看到這種奇怪的行爲使用IntelliJ中的調試器。 IntelliJ是我最喜歡的編輯器,但是我會說eclipde和netbeans有更好的調試器。我發現IntelliJ的支持非常敏感。 http://www.jetbrains.com/support/idea/ – 2010-10-08 23:03:51

回答

1

你能與JVisualVM連接?你的CPU是100%嗎?我們有一個平等的問題。應用程序已停止。 JVisualVM尚未連接。帶有jstack的線程轉儲顯示所有線程都被彎曲(多個線程轉儲之間沒有差異),但虛擬機消耗100%的CPU。我們改變了硬件,問題解決了。我們這是一個RAM問題,垃圾收集在無限循環中運行。但這只是一個理論。

請更新我,如果你能解決這個問題。

+0

自從我發佈這個以來,這並沒有被複制。如果它再次發生,我們會發現它的底部,我會發布更新。 – 2010-10-14 07:53:29

相關問題