.'" t
." Copyright 2006 Sun Microsystems, Inc.  All Rights Reserved.
." DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
."
." This code is free software; you can redistribute it and/or modify it
." under the terms of the GNU General Public License version 2 only, as
." published by the Free Software Foundation.
."
." This code is distributed in the hope that it will be useful, but WITHOUT
." ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
." FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
." version 2 for more details (a copy is included in the LICENSE file that
." accompanied this code).
."
." You should have received a copy of the GNU General Public License version
." 2 along with this work; if not, write to the Free Software Foundation,
." Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
."
." Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
." CA 95054 USA or visit www.sun.com if you need additional information or
." have any questions.
." ` 
.TH jmap 1 "05 Aug 2006"
." Generated by html2roff

.LP
.SH NAME
jmap \- Memory Map
.LP
.SH "SYNOPSIS"
.LP

.LP
.nf
\f3
.fl
\fP\f3jmap\fP [ option ] pid
.fl
\f3jmap\fP [ option ] executable core
.fl
\f3jmap\fP [ option ] [server\-id@]remote\-hostname\-or\-IP
.fl
.fi

.LP
.SH "PARAMETERS"
.LP

.LP
.TP 3
option 
Options are mutually exclusive. Option, if used, should follow immediately after the command name. 
.TP 3
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. 
.TP 3
executable 
Java executable from which the core dump was produced. 
.TP 3
core 
core file for which the memory map is to be printed. 
.TP 3
remote\-hostname\-or\-IP 
remote debug server's (see jsadebugd) hostname or IP address. 
.TP 3
server\-id 
optional unique id, if multiple debug servers are running on the same remote host.
.br

.LP
.SH "DESCRIPTION"
.LP

.LP
.LP
\f3jmap\fP 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 \f2\-J\-d64\fP option, e.g.:
.LP
.RS 3

.LP
.nf
\f3
.fl
jmap \-J\-d64 \-heap pid
.fl
\fP
.fi
.RE

.LP
\f3NOTE \- This utility is unsupported and may or may not be available in future versions of the JDK.\fP
.br

.LP
The only forms of jmap available on the Windows platform are 
.RS 3

.LP
jmap \-dump:<\f2dump\-options\fP> pid
.RE
and 
.RS 3

.LP
jmap \-histo[:live] pid
.RE
.SH "OPTIONS"
.LP

.LP
.TP 3
<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 \f3pmap\fP utility. 
.TP 3
\-dump:[live,]format=b,file=<filename> 
Dumps the Java heap in hprof binary format to filename. The \f2live\fP 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. 
.TP 3
\-finalizerinfo 
Prints information on objects awaiting finalization. 
.TP 3
\-heap 
Prints a heap summary. GC algorithm used, heap configuration and generation wise heap usage are printed. 
.TP 3
\-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 \f2live\fP suboption is specified, only live objects are counted. 
.TP 3
\-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. 
.TP 3
\-F 
Force. Use with jmap \-dump or jmap \-histo option if the pid does not respond. The \f2live\fP suboption is not supported in this mode. 
.TP 3
\-h 
Prints a help message.
.br
.TP 3
\-help 
Prints a help message.
.br
.TP 3
\-J<flag> 
Passes <flag> to the Java virtual machine on which jmap is run. 

.LP
.SH "SEE ALSO"
.LP
.RS 3
.TP 2
*
pmap (1) 
.TP 2
*
jhat 
.TP 2
*
jps 
.TP 2
*
jsadebugd 
.RE

.LP

.LP
 
