jmap
Prints shared object memory maps or heap memory details for a process, core file, or remote debug server. This command is experimental and unsupported.
TLDR
Print shared object mappings for a java process (output like pmap)
Print heap summary information
Print histogram of heap usage by type
Dump contents of the heap into a binary file for analysis with jhat
SYNOPSIS
jmap [ options ] pid jmap [ options ] executable core jmap [ options ] [ pid ] server-id@ ] remote-hostname-or-IP options The command-line options. See Options. pid The process ID for which the memory map 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(1) command. executable The Java executable from which the core dump was produced. core The core file for which the memory map is to be printed. remote-hostname-or-IP The remote debug server hostname or IP address. See jsadebugd(1). server-id An optional unique ID to use when multiple debug servers are running on the same remote host.
DESCRIPTION
The jmap command prints shared object memory maps or heap memory details of a specified process, core file, or remote debug server. If the specified process is running on a 64-bit Java Virtual Machine (JVM), then you might need to specify the -J-d64 option, for example: jmap-J-d64 -heap pid. Note: This utility is unsupported and might not be available in future releases of the JDK. On Windows Systems where the dbgeng.dll file is not present, 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 is used by the target process or the location from which the crash dump file was produced, for example: set PATH=%JDK_HOME%\jre\bin\client;%PATH%.