Java Heap Analysis Tool
options ] <heap-dump-file>
add an example, a script, a trick and tips
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/
several ways to generate a java heap dump:
Use jmap -dump option to obtain a heap dump at
Use jconsole option to obtain a heap dump via
Heap dump will be generated when
OutOfMemoryError is thrown by specifying
-XX:+HeapDumpOnOutOfMemoryError VM option;
Use hprof @
This tool is experimental and may not be
available in future versions of the JDK.
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.
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.
Set the port for the
jhat’s HTTP server. Default is 7000.
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.
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.
Set debug level for this tool.
0 means no debug output. Set higher values for more verbose
Report version number and
Output help message and
Output help message and
Pass <flag> to the Java
virtual machine on which jhat is run. For example,
-J-Xmx512m to use a maximum heap size of
Options, if used, should follow immediately after the command
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.
jmap - Java Memory Map
jconsole - Java Monitoring and Management
hprof - Heap and CPU profiling tool @