IBM HeapAnalyzer

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 ([email protected]).

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.

Related Information

Webcast replay: Using IBM HeapAnalyzer to diagnose Java heap issues

Cross-reference information
Product Component Platform Version
IBM Java   Platform Independent All Versions

猜你喜欢

转载自blog.csdn.net/allway2/article/details/108321902