Understanding heap dumps

A heap dump is a snapshot of the memory of a Java™ process.

The snapshot contains information about the Java objects and classes in the heap at the moment the snapshot is triggered. Because there are different formats for persisting this data, there might be some differences in the information provided. Typically, a full garbage collection is triggered before the heap dump is written, so the dump contains information about the remaining objects in the heap.

The Memory Analyzer works with HPROF binary heap dumps, IBM® system dumps, and IBM portable heap dumps (PHD) from various platforms. See Supported dump file types.

Typical information in a heap dump, depending on the heap dump type, includes:
All Objects
Class, fields, primitive values, and references.
All Classes
Class loader, name, super class, and static fields.
Garbage collection roots
Objects defined to be reachable by the JVM.
Thread Stacks and Local Variables
Call-stacks of threads at the moment of the snapshot, and information about local objects on a frame by frame basis.

A heap dump does not contain allocation information, therefore you cannot work out what created the objects or where the objects were created.





© Copyright IBM Corporation 2011, 2015.
© Copyright 2008, 2015 SAP AG and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html

US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.