0
遵循以下流程,但我無法分析生成的轉儲。從Java進程獲取堆轉儲以調試內存泄漏
- 我試圖從Java程序在Linux上使用機器上運行得到堆轉儲 「JMAP -F轉儲:格式= B,文件=的/ tmp/test.hprof」
- 按Ctrl跨度後+ C 60秒
- 上述步驟生成的堆轉儲使用Eclipse MAT(內存分析工具)啓動,但是我看到以下錯誤。
發生內部錯誤:「解析來自'/users/sobhan/Test.hprof'的堆轉儲'」。 java.lang.NullPointerException
PS:我試過其他分析工具,如VisualVM,IBM Heap Analyzer,結果是一樣的。我認爲堆轉儲已損壞(使用Ctrl + C在這裏是否有問題?)。如果是這樣,請建議正確的方式優雅退出'jmap'
在此先感謝。
'Ctrl + C在60秒之後' - >沒有工具能夠解析被截斷的堆轉儲 –
你能否建議在特定時間之後正常退出jmap的方式@IngoKegel – Sobhan
不,這是不可能的,它必須完成regulary –