IBM HeapAnalyzer

allway2發表於2020-12-25

概要

IBM HeapAnalyzer是用於發現可能的Java堆洩漏的圖形工具。

 

腳步

  1. 下載:https : //public.dhe.ibm.com/software/websphere/appserv/support/tools/HeapAnalyzer/ha457.jar
  2. 開啟終端或命令提示符,然後將目錄更改為您下載JAR檔案的目錄。
  3. 確保Java在您的PATH上以執行該工具。
  4. 啟動該工具(根據您的可用RAM增加-Xmx):
    java -Xmx2g -jar ha * .jar
:IBM HeapAnalyzer沒有新開發,因此,一般而言,我們建議使用帶有IBM DTFJ ExtensionEclipse Memory Analyzer Tool(MAT),它是開放原始碼並具有活躍的開發,類似的功能集(查詢大型控制者,可疑洩漏物件)等等),以及帶有特定於產品的分析引擎的IBM Extensions for Memory Analyzer。

附加資訊

HeapAnalyzer允許通過其啟發式搜尋引擎並分析Java應用程式中的Java堆轉儲來查詢可能的Java™堆洩漏區域。
Java堆區域定義物件,陣列和類。當垃圾回收器在堆中分配儲存區域時,物件的活動將繼續,而對它的引用則處於JVM處於活動狀態的某個位置。因此該物件是可到達的。當停止從活動狀態引用物件時,該物件將變為垃圾,可以回收以進行重用。發生此回收時,垃圾收集器必須處理可能的終結器,並且還必須確保與該物件關聯的所有內部JVM資源都返回到此類資源池中。Java堆轉儲是特定時間的Java堆快照。
 
主螢幕
 
它是如何工作的?
 
HeapAnalyzer通過解析Java堆轉儲,建立方向圖,將它們轉換為方向樹並執行啟發式搜尋引擎來分析Java堆轉儲。
 
以下是功能示例:
  • Java堆洩漏嫌疑人列表
  • 建議的kCluster大小
  • 分配的物件/類/陣列之間的差距列表
  • Java物件/類/陣列搜尋引擎
  • 按型別名稱列出的物件/類/陣列
  • 按物件名稱列出的物件/類/陣列
  • 按地址列出物件/類/陣列
  • 按大小列出的物件/類/陣列
  • 按孩子大小列出的物件/類/陣列的列表
  • 按子代數列出的物件/類/陣列
  • 按頻率列出的物件/類/陣列
  • 可用堆空間的大小列表
  • Java堆轉儲的樹檢視
  • 載入/儲存已處理的Java堆轉儲。
有關其他詳細資訊,請參閱該工具中的幫助文件。
 
HeapAnalyzer工具按原樣提供,沒有任何保修或支援;但是,我們會在時間允許的情況下嘗試修復和增強該工具。該工具最初是由Jinwoo Hwang建立的。自從Hwang先生離開IBM以來,Kevin Grigorenko(kevin.grigorenko@us.ibm.com)在時間允許的情況下維護了該工具。
 
:IBM HeapAnalyzer沒有新開發,因此,一般而言,我們建議使用帶有IBM DTFJ ExtensionEclipse Memory Analyzer Tool(MAT),它是開放原始碼並具有活躍的開發,類似的功能集(查詢大型控制者,可疑洩漏物件)等等),以及帶有特定於產品的分析引擎的IBM Extensions for Memory Analyzer。