You use the jmap command to print details of a specified process. This command is experimental and unsupported.


jmap [options] pid

This represents the jmap command-line options. See Options for the jmap Command.


The process ID for which the information specified by the options is to be printed. The process must be a Java process. To get a list of Java processes running on a machine, use the jps command.


The jmap command prints details of a specified running process.


This command is unsupported and might not be available in future releases of the JDK. On Windows Systems where the dbgeng.dll file isn’t present, the Debugging Tools for Windows must be installed to make these tools work. The PATH environment variable should contain the location of the jvm.dll file that’s used by the target process or the location from which the core dump file was produced.

Options for the jmap Command

-clstats pid

Connects to a running process and prints class loader statistics of Java heap.

-finalizerinfo pid

Connects to a running process and prints information on objects awaiting finalization.

-histo[:live] pid

Connects to a running process and prints a histogram of the Java object heap. If the live suboption is specified, it then counts only live objects.

-dump:dump options pid

Connects to a running process and dumps the Java heap. The dump options include:

  • live — When specified, dumps only the live objects; if not specified, then dumps all objects in the heap.

    format=b — Dumps the Java heap,. in hprof binary format

  • file=filename — Dumps the heap to filename

Example: jmap -dump:live,format=b,file=heap.bin pid