HeapAnalyzer

HeapAnalyzer finds 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.

HeapAnalyzer analyzes Java heap dumps by parsing the Java heap dump, creating directional graphs, transforming them into directional trees, and running the heuristic search engine.

The following are examples of features of HeapAnalyzer:
  • 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