我有一個java專案,但是不定期的會僵死。
執行完jmap -F后,系統自動恢復了。
我還執行過jstack,也必須使用-F,拿到的檔案所有執行緒全部blocked,且沒有死鎖或者等待某些資源的提示。執行完jstack -F,系統也能自動恢復。

PC PU OC OU YGC FGC FGCT GCT
262144.0 159521.7 4194304.0 329202.4 44 0 0.000 1.742
麻煩大神幫忙解答下
uj5u.com熱心網友回復:
是不是有記憶體泄露。把系統資源都耗盡了。uj5u.com熱心網友回復:
看了記憶體使用情況是正常的,沒有發生記憶體泄露
uj5u.com熱心網友回復:
jvisualvm 看看執行緒狀態uj5u.com熱心網友回復:
也曾遇到過這種情況,定位問題確實耗費時間。如果JVM沒有發現例外,可以考慮如下情況:1. 呼叫了需要BLOCK的函式,比如Object#wait,等待導致了軟體掛起。
2. 呼叫了其他服務器或者大檔案而沒有回傳,比如InputStream#read、Channel#read等操作,導致軟體掛起。
3. 記憶體分配不足,而實際消耗記憶體過高,導致軟體掛起。
4. 建好日志系統,為了除錯這種問題,可以每個執行緒輸出到不同的日志檔案中,每個回圈都列印日志,看看最后的日志停在什么地方。
5. 是不是系統的問題?雖然可能性很小,而且作業系統在很多Linux/Windows版本上都運行的很好,但不排除某些小眾作業系統的JVM出現例外。
祝好運!
uj5u.com熱心網友回復:
hello,你好,我也出現了和您類似的問題,請問您找到原因了嗎uj5u.com熱心網友回復:
我也遇到了。我這邊有幾個情況:1。我使用其它JAVA框架不會,就使用若依才會。
2。同樣的代碼,同樣的CLASS,都沒重新編譯過CLASS。到我運行時才用。同事說他沒遇到過。
3。不知是不是JDK1.8才這樣,反正以前1。7之前從未遇到過。
4。遇到卡死,只要在控制臺按下回車就OK了,接著跑。不用任何工具。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/285200.html
標籤:Java EE