IBM Support

IBM HeapAnalyzer

How To


Summary

IBM HeapAnalyzer is a graphical tool for discovering possible Java heap leaks.

Steps

  1. Download: https://public.dhe.ibm.com/software/websphere/appserv/support/tools/HeapAnalyzer/ha457.jar
  2. Open a terminal or command prompt and change directory to where you downloaded the JAR file.
  3. Ensure that Java is on your PATH to run the tool.
  4. Launch the tool (increase -Xmx based on your available RAM):
    java -Xmx2g -jar ha*.jar
Note: IBM HeapAnalyzer has no new development and therefore, in general, we recommend using the Eclipse Memory Analyzer Tool (MAT) with IBM DTFJ Extension instead which is open source and has active development, a similar feature set (finding large dominators, leak suspects, etc.), and the IBM Extensions for Memory Analyzer with product-specific analysis engines.

Additional Information

HeapAnalyzer allows the finding of a possible Java™ heap leak area through its heuristic search engine and analysis of the Java heap dump in Java applications.
Java heap areas define objects, arrays, and classes. When the Garbage Collector allocates areas of storage in the heap, an object continues to be live while a reference to it exists somewhere in the active state of the JVM; therefore the object is reachable. When an object ceases to be referenced from the active state, it becomes garbage and can be reclaimed for reuse. When this reclamation occurs, the Garbage Collector must process a possible finalizer and also ensure that any internal JVM resources that are associated with the object are returned to the pool of such resources. Java heap dumps are snap shots of Java heaps at specific times.
Main screen
How does it work?
HeapAnalyzer analyzes Java heap dumps by parsing the Java heap dump, creating directional graphs, transforming them into directional trees, and executing the heuristic search engine.
The following are examples of features:
  • List of Java heap leak suspects
  • Recommendation of the size of kCluster
  • List of gaps among allocated objects/classes/arrays
  • Java objects/classes/arrays search engine
  • List of objects/classes/arrays by type name
  • List of objects/classes/arrays by object name
  • List of objects/classes/arrays by address
  • List of objects/classes/arrays by size
  • List of objects/classes/arrays by size of child
  • List of objects/classes/arrays by number of child
  • List of objects/classes/arrays by frequency
  • List of available heap spaces by size
  • Tree view of Java heap dump
  • Loading/saving processed Java heap dumps.
For additional details, see the Help documentation from within the tool.
The HeapAnalyzer tool is provided as is without any warranty or support; however, we try to fix and enhance the tool as time permits. The tool was originally created by Jinwoo Hwang. Since Mr. Hwang's departure from IBM, the tool is maintained as time permits by Kevin Grigorenko (kevin.grigorenko@us.ibm.com).
Note: IBM HeapAnalyzer has no new development and therefore, in general, we recommend using the Eclipse Memory Analyzer Tool (MAT) with IBM DTFJ Extension instead which is open source and has active development, a similar feature set (finding large dominators, leak suspects, etc.), and the IBM Extensions for Memory Analyzer with product-specific analysis engines.

Document Location

Worldwide

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSEQTP","label":"WebSphere Application Server"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"LOB15","label":"Integration"}},{"Business Unit":{"code":"BU050","label":"BU NOT IDENTIFIED"},"Product":{"code":"SG9NGS","label":"IBM Java"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
20 November 2019

UID

ibm11109955