Analyzes the Java heap. This command is experimental and unsupported.
jhat [options ]heap-dump-file
The command-line options. SeeOptions.
Java binary heap dump file to be browsed. For a dump file that contains multiple heap dumps, you can specify which dump in the file by appending#<number>
to the file name, for example,myfile.hprof#3
.
Thejhat
command parses a Java heap dump file and starts a web server. Thejhat
command lets you to browse heap dumps with your favorite web browser. Thejhat
command supports predesigned queries such as show all instances of a known classMyClass
, and Object Query Language (OQL). OQL is similar to SQL, except for querying heap dumps. Help on OQL is available from the OQL help page shown by thejhat
command. With the default port, OQL help is available at http://localhost:7000/oqlhelp/
There are several ways to generate a Java heap dump:
Use thejmap -dump
option to obtain a heap dump at runtime. Seejmap
(1).
Use thejconsole
option to obtain a heap dump throughHotSpotDiagnosticMXBean
at runtime. Seejconsole
(1) and theHotSpotDiagnosticMXBean
interface description athttp://docs.oracle.com/javase/8/docs/jre/api/management/extension/com/sun/management/HotSpotDiagnosticMXBean.html
Heap dump is generated when anOutOfMemoryError
is thrown by specifying the-XX:+HeapDumpOnOutOfMemoryError
Java Virtual Machine (JVM) option.
Use thehprof
command. See the HPROF: A Heap/CPU Profiling Tool athttp://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html
Turns off tracking object allocation call stack. If allocation site information is not available in the heap dump, then you have to set this flag tofalse
. The default istrue
.
Turns off tracking of references to objects. Default istrue
. By default, back pointers, which are objects that point to a specified object such as referrers or incoming references, are calculated for all objects in the heap.
Sets the port for thejhat
HTTP server. Default is 7000.
Specifies a file that lists data members that should be excluded from the reachable objects query. For example, if the file listsjava.lang.String.value
, then, then whenever the list of objects that are reachable from a specific objecto
are calculated, reference paths that involvejava.lang.String.value
field are not considered.
Specifies a baseline heap dump. Objects in both heap dumps with the same object ID are marked as not being new. Other objects are marked as new. This is useful for comparing two different heap dumps.
Sets the debug level for this tool. A level of 0 means no debug output. Set higher values for more verbose modes.
Reports the release number and exits
Displays a help message and exits.
Displays a help message and exits.
Passesflag
to the Java Virtual Machine on which thejhat
command is running. For example,-J-Xmx512m
to use a maximum heap size of 512 MB.
HPROF: A Heap/CPU Profiling Tool athttp://docs.oracle.com/javase/8/docs/technotes/samples/hprof.html