首頁 > Java > java教程 > Mac平台下如何分析Java堆轉儲(hprof)檔案?

Mac平台下如何分析Java堆轉儲(hprof)檔案?

PHPz
發布: 2023-04-20 23:07:07
轉載
2931 人瀏覽過

使用jdk 自帶的jhat 指令

如何列印堆疊資訊到hprof檔

執行程式增加VM參數:

-XX:+HeapDumpOnOutOfMemoryError # 会打印出现内存溢出异常时,Dump出当前内存堆转存快找以便分析
登入後複製

#步驟1:

在命令列介面,執行以下命令,其中java_pid73912.hprof為檔案名稱

jhat java_pid73912.hprof
登入後複製

執行命令會輸出

Reading from java_pid73912.hprof...Dump file created Thu Apr 08 22:18:08 CST 2021Snapshot read, resolving...Resolving 818890 objects...Chasing references, expect 163 dots...................................................................................................................................................................Eliminating duplicate references...................................................................................................................................................................Snapshot resolved.Started HTTP server on port 7000Server is ready.
登入後複製

當看出Server is ready. 之後,可以透過ip port 位址瀏覽器訪問,我這裡是本地,所以是 localhost:7000

Mac平台下如何分析Java堆轉儲(hprof)檔案?

#點選Show instance counts for all classes (including platform)會顯示包含平台的類別的資訊

Mac平台下如何分析Java堆轉儲(hprof)檔案?

#點選Show instance counts for all classes (excluding platform)會顯示不包含平台的所有類別的資訊

Mac平台下如何分析Java堆轉儲(hprof)檔案?

可以看到我這裡佔用空間最多的類別是 class com.geniu.book.deepinJVM.chapter2.TestHeapOOM$OOMObject有超過80 萬個實例。

這樣就可以分析發生記憶體溢出時,記憶體中的物件情況,分析異常情況。

其他建議方案:

1)使用idea外掛 JProfiler

2)minidump_stackwalk 工具,可以讀取 dump 檔案

以上是Mac平台下如何分析Java堆轉儲(hprof)檔案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板