jmap
Memory Map
Synopsis
jmap [
option ] pid
jmap [ option ] executable core
jmap [ option ]
[server-id@]remote-hostname-or-IP
add an example, a script, a trick and tips
examples
source
jmap -dump:file=myfile.hprof
$1
source
jmap -J-d64 -dump:format=b,file=<path to dump
file> <jvm pid>
jhat <path to dump file>
jmap -dump:format=b,file=heapdump 6054
source
echo >&2 "Usage:
jmapSeries <pid> <run_user> [ <count>
[ <delay> ] ]"
echo >&2 "
Defaults: count = 10, delay = 60 (seconds)"
do
jmap -J-d64 -heap $pid
>jmap.$pid.$(date +%H%M%S.%N)
sleep $delay
let count--
echo -n "."
source
pid=$1
jmap -dump:format=b,file=leak $pid &&\
java -Xmx512m -jar /home/jalp/Java/jhat.jar leak
source
echo "============
jmap -heap $PID ============"
jmap -heap $PID
echo "============
jmap -histo:live $PID ============"
echo "============ jmap
-histo:live $PID ============"
jmap -histo:live $PID
echo "============
jmap -dump:live,format=b,file=heap-$DATE.bin $PID
============"
description
jmap
prints shared object memory maps or heap memory details of a
given process or core file or a remote debug server. If the
given process is running on a 64-bit VM, you may need
to specify the -J-d64 option, e.g.:
jmap
-J-d64 -heap pid
NOTE -
This utility is unsupported and may or may not be available
in future versions of the JDK.
The only forms
of jmap available on the Windows platform are
jmap
-dump:<dump-options> pid
and
jmap
-histo[:live] pid
options
<no
option> When no option is
used jmap prints shared object mappings. For each shared
object loaded in the target VM, start address, the size of
the mapping, and the full path of the shared object file are
printed. This is similar to the Solaris pmap
utility.
-dump:[live,]format=b,file=<filename>
Dumps the Java heap in hprof
binary format to filename. The live suboption is
optional. If specified, only the live objects in the heap
are dumped. To browse the heap dump, you can use jhat (Java
Heap Analysis Tool) to read the generated file.
-finalizerinfo
Prints information on objects
awaiting finalization.
-heap
Prints a heap summary. GC
algorithm used, heap configuration and generation wise heap
usage are printed.
-histo[:live]
Prints a histogram of the heap.
For each Java class, number of objects, memory size in
bytes, and fully qualified class names are printed. VM
internal class names are printed with ’*’
prefix. If the live suboption is specified, only live
objects are counted.
-permstat
Prints class loader wise
statistics of permanent generation of Java heap. For each
class loader, its name, liveness, address, parent class
loader, and the number and size of classes it has loaded are
printed. In addition, the number and size of interned
Strings are printed.
-F
Force. Use with jmap -dump or jmap -histo
option if the pid does not respond. The live
suboption is not supported in this mode.
-h
Prints a help message.
-help
Prints a help message.
-J<flag>
Passes <flag> to the Java
virtual machine on which jmap is run.
parameters
option
Options are mutually exclusive. Option, if used, should follow
immediately after the command name.
pid
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, jps may be used.
executable
Java executable from which the core dump was produced.
core
core file for which the memory map is to be printed.
remote-hostname-or-IP
remote debug server’s (see jsadebugd) hostname or IP address.
server-id
optional unique id, if multiple debug servers are running on the
same remote host.
see also
*
pmap
*
jhat
*
jps
*
jsadebugd