jhat - Java Heap Analysis Tool
jhat [ options ] <heap-dump-file>
PARAMETERS
- options
- Options, if used, should follow immediately after the command
name.
- heap-dump-file
- Java binary heap dump file to be browsed. For a dump file
that contains multiple heap dumps, you may specify which dump in
the file by appending "#<number> to the file name, i.e.
"foo.hprof#3".
The jhat command parses a java heap dump file and
launches a webserver. jhat enables you to browse heap dumps using
your favorite webbrowser. jhat supports pre-designed queries
(such as 'show all instances of a known class "Foo"') as well as
OQL (Object Query Language) - a
SQL-like query language to query heap dumps. Help on OQL is
available from the OQL help page shown by jhat. With the default
port, OQL help is available at http://localhost:7000/oqlhelp/
There are several ways to generate a java heap dump:
- Use jmap -dump option to obtain a
heap dump at runtime;
- Use jconsole option to obtain a
heap dump via
HotSpotDiagnosticMXBean at runtime;
- Heap dump will be generated when OutOfMemoryError is thrown
by specifying -XX:+HeapDumpOnOutOfMemoryError VM option;
- Use
hprof.
NOTE: This tool is experimental and may
not be available in future versions of the JDK.
OPTIONS
- -stack false/true
- Turn off tracking object allocation call stack. Note that if
allocation site information is not available in the heap dump,
you have to set this flag to false. Default is true.
- -refs false/true
- Turn off tracking of references to objects. Default is true.
By default, back pointers (objects pointing to a given object
a.k.a referrers or in-coming references) are calculated for all
objects in the heap.
- -port port-number
- Set the port for the jhat's HTTP server. Default is
7000.
- -exclude exclude-file
- Specify a file that lists data members that should be
excluded from the "reachable objects" query. For example, if the
file lists java.lang.String.value, then, whenever list of
objects reachable from a specific object "o" are calculated,
reference paths involving java.lang.String.value field
will not considered.
- -baseline baseline-dump-file
- Specify a baseline heap dump. Objects in both heap dumps with
the same object ID will be marked as not being "new". Other
objects will be marked as "new". This is useful while comparing
two different heap dumps.
- -debug int
- Set debug level for this tool. 0 means no debug output. Set
higher values for more verbose modes.
- -version
- Report version number and exit.
- -h
- Output help message and exit.
- -help
- Output help message and exit.
- -J<flag>
- Pass <flag> to the Java virtual machine on which jhat
is run. For example, -J-Xmx512m to use a maximum heap size of
512MB.