簡體   English   中英

Java調試時會導致我的進程掛起的原因

[英]When Java debugging what could cause my process to hang

我有一個處理繁重的Java服務器進程。 它間歇性地停止處理,如在日志中停止,並且活動停止,但該過程仍處於活動狀態。

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

我嘗試在問題發生之前闖入程序,它可以正常工作,進程停止,並且我可以檢查線程列表。

有誰知道為什么JVM無法響應調試暫停/中斷? 以及它如何進入這種情況? 我有點卡住了,因為在無法查看程序狀態時就無法診斷該問題。 導致該問題的日志未顯示任何問題。

可以與JVisualVM連接嗎? 您的CPU是否處於100%運行狀態? 我們有一個平等的問題。 該應用程序已停止。 JVisualVM不再連接。 使用jstack進行的線程轉儲表明所有線程都處於彎曲狀態(多個線程轉儲之間沒有差異),但是VM消耗了100%的CPU。 我們更改了硬件,問題已解決。 我們認為這是一個RAM問題,垃圾回收無休止地運行。 但這只是一個理論。

如果可以解決問題,請及時通知我。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM