IBM User Guide for Java V7 on Windows > Troubleshooting and support > Using diagnostic tools > Using Heapdump



Text (classic) Heapdump file format

The text or classic Heapdump is a list of all object instances in the heap, including object type, size, and references between objects.


Header record

The header record is a single record containing a string of version information.

// Version: <version string containing SDK level, platform and JVM build level>

For example:

// Version: JRE 1.7.0 Windows 7 amd64-64 build 20120817_119700 (pwa6470sr3-20120821_01(SR3))


Object records

Object records are multiple records, one for each object instance on the heap, providing object address, size, type, and references from the object.

<object address, in hexadecimal> [<length in bytes of object instance, in decimal>] OBJ <object type>
<heap reference, in hexadecimal> <heap reference, in hexadecimal> ...

The object type is either a class name, or a class array type, or a primitive array type, shown by the standard JVM type signature, see Java VM type signatures. Package names are included in the class names. References found in the object instance are listed, excluding references to an object's class and excluding null references.

Examples:

An object instance, length 32 bytes, of type java/lang/String, with its single reference to a char array:

0x000007FFFFF84278 [32] OBJ java/lang/String
		 0x000007FFFFF842F0

An object instance, length 72 bytes, of type char array, as referenced from the java/lang/String:

0x000007FFFFF842F0 [32] OBJ [C

An object instance, length 48 bytes, of type array of java/lang/String

0x000007FFFFF84CB8 [48] OBJ [Ljava/lang/String;
		 0x000007FFFFF84D70 0x000007FFFFF84D90 0x000007FFFFF84DB0 0x000007FFFFF84DD0


Class records

Class records are multiple records, one for each loaded class, providing class block address, size, type, and references from the class.

<class object address, in hexadecimal> [<length in bytes of class object, in decimal>] CLS <class type>
<heap reference, in hexadecimal> <heap reference, in hexadecimal>...

The class type is either a class name, or a class array type, or a primitive array type, shown by its standard JVM type signature, see Java VM type signatures. Package names are included in the class names. References found in the class block are listed, excluding null references.

Examples:

A class object, length 80 bytes, for class java/util/Vector, with heap references:

0x000007FFDFFC2F80 [80] CLS java/util/Vector
		 0x000007FFFFF30A90 0x000007FFDFFC3030


Trailer record 1

Trailer record 1 is a single record containing record counts.

// Breakdown - Classes: <class record count, in decimal>,
Objects: <object record count, in decimal>,
ObjectArrays: <object array record count, in decimal>,
PrimitiveArrays: <primitive array record count, in decimal>

For example:

// Breakdown - Classes: 321, Objects: 3718, ObjectArrays: 169, 
PrimitiveArrays: 2141


Trailer record 2

Trailer record 2 is a single record containing totals.

// EOF:  Total 'Objects',Refs(null) :
<total object count, in decimal>,
<total reference count, in decimal>
(,total null reference count, in decimal>)

For example:

// EOF:  Total 'Objects',Refs(null) : 6349,23240(7282)


Java VM type signatures

The Java™ VM type signatures are abbreviations of the Java types are shown in the following table:

Java VM type signatures Java type
Z boolean
B byte
C char
S short
I int
J long
F float
D double
L <fully qualified-class> ; <fully qualified-class>
[ <type> <type>[ ] (array of <type>)
( <arg-types> ) <ret-type> method


Parent: Using Heapdump








Error 404 - Not Found

Error 404 - Not Found

The document you are looking for may have been removed or re-named. Please contact the web site owner for further assistance.