2016-02-12 85 views
0

我有一個非常奇怪的問題。我有一個30 GB的堆轉儲,我想分析我的筆記本電腦(它有8 GB的RAM)相同。我試圖用MAT和IBM Heap分析器來做這件事,但根據他們的建議,Xmx的大小應該大於轉儲大小。我也嘗試用MAT的heapDumpParser.bat文件分析堆轉儲,但收到內存錯誤。分析大型Java堆轉儲 - 內存錯誤

關於如何成功分析筆記本電腦上的轉儲的任何建議?

在此先感謝!

+0

我不知道這是否是真的,因爲我還沒有這麼大的文件中使用它,但還是儘量YourKit探查器爲您的工作。 – User2709

+0

謝謝,但我面臨着與您的KIT分析器相同的問題。系統在解析(內存和CPU利用率高)的35%後掛起。 – Garvit

回答

0

內存分析器可能是分析內存不足問題的最佳工具,但它確實需要大量內存。

如果您無法找到足夠大的計算機來處理轉儲,則可以嘗試使用IBM SDK附帶的jdmpview命令行工具來執行一些基本調查。

對於內存不足而不是phd文件生成的核心轉儲,它將最好地工作,因爲它不需要將內容加載到內存中。

您可以在JRE/bin中找到它,需要運行:

jdmpview -core core_file_name 

你或許應該通過運行以下命令開始:

info class 

因爲這將產生對象類型的基本列表,實例數量和大小。

有完整的文檔在這裏: http://www-01.ibm.com/support/knowledgecenter/SSYKE2_8.0.0/com.ibm.java.win.80.doc/diag/tools/dump_viewer_dtfjview/dump_viewer.html