711 lines
24 KiB
Groff
711 lines
24 KiB
Groff
.\" Copyright (c) 1994, 2019, Oracle and/or its affiliates. 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 Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
|
.\" or visit www.oracle.com if you need additional information or have any
|
|
.\" questions.
|
|
.\"
|
|
.\" Automatically generated by Pandoc 2.3.1
|
|
.\"
|
|
.TH "JSTAT" "1" "2020" "JDK 14" "JDK Commands"
|
|
.hy
|
|
.SH NAME
|
|
.PP
|
|
jstat \- monitor JVM statistics
|
|
.SH SYNOPSIS
|
|
.PP
|
|
\f[B]Note:\f[R] This command is experimental and unsupported.
|
|
.PP
|
|
\f[CB]jstat\f[R] \f[I]generalOptions\f[R]
|
|
.PP
|
|
\f[CB]jstat\f[R] \f[I]outputOptions\f[R] [\f[CB]\-t\f[R]] [\f[CB]\-h\f[R]
|
|
\f[I]lines\f[R]] \f[I]vmid\f[R] [\f[I]interval\f[R] [\f[I]count\f[R]]]
|
|
.TP
|
|
.B \f[I]generalOptions\f[R]
|
|
A single general command\-line option.
|
|
See \f[B]General Options\f[R].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]outputOptions\f[R]
|
|
An option reported by the \f[CB]\-options\f[R] option.
|
|
One or more output options that consist of a single \f[CB]statOption\f[R],
|
|
plus any of the \f[CB]\-t\f[R], \f[CB]\-h\f[R], and \f[CB]\-J\f[R] options.
|
|
See \f[B]Output Options for the jstat Command\f[R].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-t\f[R]
|
|
Displays a time\-stamp column as the first column of output.
|
|
The time stamp is the time since the start time of the target JVM.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-h\f[R] \f[I]n\f[R]
|
|
Displays a column header every \f[I]n\f[R] samples (output rows), where
|
|
\f[I]n\f[R] is a positive integer.
|
|
The default value is \f[CB]0\f[R], which displays the column header of the
|
|
first row of data.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]vmid\f[R]
|
|
A virtual machine identifier, which is a string that indicates the
|
|
target JVM.
|
|
See \f[B]Virtual Machine Identifier\f[R].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]interval\f[R]
|
|
The sampling interval in the specified units, seconds (s) or
|
|
milliseconds (ms).
|
|
Default units are milliseconds.
|
|
This must be a positive integer.
|
|
When specified, the \f[CB]jstat\f[R] command produces its output at each
|
|
interval.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]count\f[R]
|
|
The number of samples to display.
|
|
The default value is infinity, which causes the \f[CB]jstat\f[R] command
|
|
to display statistics until the target JVM terminates or the
|
|
\f[CB]jstat\f[R] command is terminated.
|
|
This value must be a positive integer.
|
|
.RS
|
|
.RE
|
|
.SH DESCRIPTION
|
|
.PP
|
|
The \f[CB]jstat\f[R] command displays performance statistics for an
|
|
instrumented Java HotSpot VM.
|
|
The target JVM is identified by its virtual machine identifier, or
|
|
\f[CB]vmid\f[R] option.
|
|
.PP
|
|
The \f[CB]jstat\f[R] command supports two types of options, general
|
|
options and output options.
|
|
General options cause the \f[CB]jstat\f[R] command to display simple usage
|
|
and version information.
|
|
Output options determine the content and format of the statistical
|
|
output.
|
|
.PP
|
|
All options and their functionality are subject to change or removal in
|
|
future releases.
|
|
.SH GENERAL OPTIONS
|
|
.PP
|
|
If you specify one of the general options, then you can\[aq]t specify
|
|
any other option or parameter.
|
|
.TP
|
|
.B \f[CB]\-help\f[R]
|
|
Displays a help message.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-options\f[R]
|
|
Displays a list of static options.
|
|
See \f[B]Output Options for the jstat Command\f[R].
|
|
.RS
|
|
.RE
|
|
.SH OUTPUT OPTIONS FOR THE JSTAT COMMAND
|
|
.PP
|
|
If you don\[aq]t specify a general option, then you can specify output
|
|
options.
|
|
Output options determine the content and format of the \f[CB]jstat\f[R]
|
|
command\[aq]s output, and consist of a single \f[CB]statOption\f[R], plus
|
|
any of the other output options (\f[CB]\-h\f[R], \f[CB]\-t\f[R], and
|
|
\f[CB]\-J\f[R]).
|
|
The \f[CB]statOption\f[R] must come first.
|
|
.PP
|
|
Output is formatted as a table, with columns that are separated by
|
|
spaces.
|
|
A header row with titles describes the columns.
|
|
Use the \f[CB]\-h\f[R] option to set the frequency at which the header is
|
|
displayed.
|
|
Column header names are consistent among the different options.
|
|
In general, if two options provide a column with the same name, then the
|
|
data source for the two columns is the same.
|
|
.PP
|
|
Use the \f[CB]\-t\f[R] option to display a time\-stamp column, labeled
|
|
Timestamp as the first column of output.
|
|
The Timestamp column contains the elapsed time, in seconds, since the
|
|
target JVM started.
|
|
The resolution of the time stamp is dependent on various factors and is
|
|
subject to variation due to delayed thread scheduling on heavily loaded
|
|
systems.
|
|
.PP
|
|
Use the interval and count parameters to determine how frequently and
|
|
how many times, respectively, the \f[CB]jstat\f[R] command displays its
|
|
output.
|
|
.PP
|
|
\f[B]Note:\f[R]
|
|
.PP
|
|
Don\[aq]t write scripts to parse the \f[CB]jstat\f[R] command\[aq]s output
|
|
because the format might change in future releases.
|
|
If you write scripts that parse the \f[CB]jstat\f[R] command output, then
|
|
expect to modify them for future releases of this tool.
|
|
.TP
|
|
.B \f[CB]\-statOption\f[R]
|
|
Determines the statistics information that the \f[CB]jstat\f[R] command
|
|
displays.
|
|
The following lists the available options.
|
|
Use the \f[CB]\-options\f[R] general option to display the list of options
|
|
for a particular platform installation.
|
|
See \f[B]Stat Options and Output\f[R].
|
|
.RS
|
|
.PP
|
|
\f[CB]class\f[R]: Displays statistics about the behavior of the class
|
|
loader.
|
|
.PP
|
|
\f[CB]compiler\f[R]: Displays statistics about the behavior of the Java
|
|
HotSpot VM Just\-in\-Time compiler.
|
|
.PP
|
|
\f[CB]gc\f[R]: Displays statistics about the behavior of the garbage
|
|
collected heap.
|
|
.PP
|
|
\f[CB]gccapacity\f[R]: Displays statistics about the capacities of the
|
|
generations and their corresponding spaces.
|
|
.PP
|
|
\f[CB]gccause\f[R]: Displays a summary about garbage collection statistics
|
|
(same as \f[CB]\-gcutil\f[R]), with the cause of the last and current
|
|
(when applicable) garbage collection events.
|
|
.PP
|
|
\f[CB]gcnew\f[R]: Displays statistics about the behavior of the new
|
|
generation.
|
|
.PP
|
|
\f[CB]gcnewcapacity\f[R]: Displays statistics about the sizes of the new
|
|
generations and their corresponding spaces.
|
|
.PP
|
|
\f[CB]gcold\f[R]: Displays statistics about the behavior of the old
|
|
generation and metaspace statistics.
|
|
.PP
|
|
\f[CB]gcoldcapacity\f[R]: Displays statistics about the sizes of the old
|
|
generation.
|
|
.PP
|
|
\f[CB]gcmetacapacity\f[R]: Displays statistics about the sizes of the
|
|
metaspace.
|
|
.PP
|
|
\f[CB]gcutil\f[R]: Displays a summary about garbage collection statistics.
|
|
.PP
|
|
\f[CB]printcompilation\f[R]: Displays Java HotSpot VM compilation method
|
|
statistics.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-J\f[R]\f[I]javaOption\f[R]
|
|
Passes \f[I]javaOption\f[R] to the Java application launcher.
|
|
For example, \f[CB]\-J\-Xms48m\f[R] sets the startup memory to 48 MB.
|
|
For a complete list of options, see \f[B]java\f[R].
|
|
.RS
|
|
.RE
|
|
.SH STAT OPTIONS AND OUTPUT
|
|
.PP
|
|
The following information summarizes the columns that the \f[CB]jstat\f[R]
|
|
command outputs for each \f[I]statOption\f[R].
|
|
.TP
|
|
.B \f[CB]\-class\f[R] \f[I]option\f[R]
|
|
Class loader statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]Loaded\f[R]: Number of classes loaded.
|
|
.PP
|
|
\f[CB]Bytes\f[R]: Number of KB loaded.
|
|
.PP
|
|
\f[CB]Unloaded\f[R]: Number of classes unloaded.
|
|
.PP
|
|
\f[CB]Bytes\f[R]: Number of KB loaded.
|
|
.PP
|
|
\f[CB]Time\f[R]: Time spent performing class loading and unloading
|
|
operations.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-compiler\f[R] \f[I]option\f[R]
|
|
Java HotSpot VM Just\-in\-Time compiler statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]Compiled\f[R]: Number of compilation tasks performed.
|
|
.PP
|
|
\f[CB]Failed\f[R]: Number of compilations tasks failed.
|
|
.PP
|
|
\f[CB]Invalid\f[R]: Number of compilation tasks that were invalidated.
|
|
.PP
|
|
\f[CB]Time\f[R]: Time spent performing compilation tasks.
|
|
.PP
|
|
\f[CB]FailedType\f[R]: Compile type of the last failed compilation.
|
|
.PP
|
|
\f[CB]FailedMethod\f[R]: Class name and method of the last failed
|
|
compilation.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gc\f[R] \f[I]option\f[R]
|
|
Garbage collected heap statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]S0C\f[R]: Current survivor space 0 capacity (KB).
|
|
.PP
|
|
\f[CB]S1C\f[R]: Current survivor space 1 capacity (KB).
|
|
.PP
|
|
\f[CB]S0U\f[R]: Survivor space 0 utilization (KB).
|
|
.PP
|
|
\f[CB]S1U\f[R]: Survivor space 1 utilization (KB).
|
|
.PP
|
|
\f[CB]EC\f[R]: Current eden space capacity (KB).
|
|
.PP
|
|
\f[CB]EU\f[R]: Eden space utilization (KB).
|
|
.PP
|
|
\f[CB]OC\f[R]: Current old space capacity (KB).
|
|
.PP
|
|
\f[CB]OU\f[R]: Old space utilization (KB).
|
|
.PP
|
|
\f[CB]MC\f[R]: Metaspace Committed Size (KB).
|
|
.PP
|
|
\f[CB]MU\f[R]: Metaspace utilization (KB).
|
|
.PP
|
|
\f[CB]CCSC\f[R]: Compressed class committed size (KB).
|
|
.PP
|
|
\f[CB]CCSU\f[R]: Compressed class space used (KB).
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation garbage collection (GC) events.
|
|
.PP
|
|
\f[CB]YGCT\f[R]: Young generation garbage collection time.
|
|
.PP
|
|
\f[CB]FGC\f[R]: Number of full GC events.
|
|
.PP
|
|
\f[CB]FGCT\f[R]: Full garbage collection time.
|
|
.PP
|
|
\f[CB]GCT\f[R]: Total garbage collection time.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gccapacity\f[R] \f[I]option\f[R]
|
|
Memory pool generation and space capacities.
|
|
.RS
|
|
.PP
|
|
\f[CB]NGCMN\f[R]: Minimum new generation capacity (KB).
|
|
.PP
|
|
\f[CB]NGCMX\f[R]: Maximum new generation capacity (KB).
|
|
.PP
|
|
\f[CB]NGC\f[R]: Current new generation capacity (KB).
|
|
.PP
|
|
\f[CB]S0C\f[R]: Current survivor space 0 capacity (KB).
|
|
.PP
|
|
\f[CB]S1C\f[R]: Current survivor space 1 capacity (KB).
|
|
.PP
|
|
\f[CB]EC\f[R]: Current eden space capacity (KB).
|
|
.PP
|
|
\f[CB]OGCMN\f[R]: Minimum old generation capacity (KB).
|
|
.PP
|
|
\f[CB]OGCMX\f[R]: Maximum old generation capacity (KB).
|
|
.PP
|
|
\f[CB]OGC\f[R]: Current old generation capacity (KB).
|
|
.PP
|
|
\f[CB]OC\f[R]: Current old space capacity (KB).
|
|
.PP
|
|
\f[CB]MCMN\f[R]: Minimum metaspace capacity (KB).
|
|
.PP
|
|
\f[CB]MCMX\f[R]: Maximum metaspace capacity (KB).
|
|
.PP
|
|
\f[CB]MC\f[R]: Metaspace Committed Size (KB).
|
|
.PP
|
|
\f[CB]CCSMN\f[R]: Compressed class space minimum capacity (KB).
|
|
.PP
|
|
\f[CB]CCSMX\f[R]: Compressed class space maximum capacity (KB).
|
|
.PP
|
|
\f[CB]CCSC\f[R]: Compressed class committed size (KB).
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation GC events.
|
|
.PP
|
|
\f[CB]FGC\f[R]: Number of full GC events.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gccause\f[R] \f[I]option\f[R]
|
|
This option displays the same summary of garbage collection statistics
|
|
as the \f[CB]\-gcutil\f[R] option, but includes the causes of the last
|
|
garbage collection event and (when applicable), the current garbage
|
|
collection event.
|
|
In addition to the columns listed for \f[CB]\-gcutil\f[R], this option
|
|
adds the following columns:
|
|
.RS
|
|
.PP
|
|
\f[CB]LGCC\f[R]: Cause of last garbage collection
|
|
.PP
|
|
\f[CB]GCC\f[R]: Cause of current garbage collection
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gcnew\f[R] \f[I]option\f[R]
|
|
New generation statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]S0C\f[R]: Current survivor space 0 capacity (KB).
|
|
.PP
|
|
\f[CB]S1C\f[R]: Current survivor space 1 capacity (KB).
|
|
.PP
|
|
\f[CB]S0U\f[R]: Survivor space 0 utilization (KB).
|
|
.PP
|
|
\f[CB]S1U\f[R]: Survivor space 1 utilization (KB).
|
|
.PP
|
|
\f[CB]TT\f[R]: Tenuring threshold.
|
|
.PP
|
|
\f[CB]MTT\f[R]: Maximum tenuring threshold.
|
|
.PP
|
|
\f[CB]DSS\f[R]: Desired survivor size (KB).
|
|
.PP
|
|
\f[CB]EC\f[R]: Current eden space capacity (KB).
|
|
.PP
|
|
\f[CB]EU\f[R]: Eden space utilization (KB).
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation GC events.
|
|
.PP
|
|
\f[CB]YGCT\f[R]: Young generation garbage collection time.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gcnewcapacity\f[R] \f[I]option\f[R]
|
|
New generation space size statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]NGCMN\f[R]: Minimum new generation capacity (KB).
|
|
.PP
|
|
\f[CB]NGCMX\f[R]: Maximum new generation capacity (KB).
|
|
.PP
|
|
\f[CB]NGC\f[R]: Current new generation capacity (KB).
|
|
.PP
|
|
\f[CB]S0CMX\f[R]: Maximum survivor space 0 capacity (KB).
|
|
.PP
|
|
\f[CB]S0C\f[R]: Current survivor space 0 capacity (KB).
|
|
.PP
|
|
\f[CB]S1CMX\f[R]: Maximum survivor space 1 capacity (KB).
|
|
.PP
|
|
\f[CB]S1C\f[R]: Current survivor space 1 capacity (KB).
|
|
.PP
|
|
\f[CB]ECMX\f[R]: Maximum eden space capacity (KB).
|
|
.PP
|
|
\f[CB]EC\f[R]: Current eden space capacity (KB).
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation GC events.
|
|
.PP
|
|
\f[CB]FGC\f[R]: Number of full GC events.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gcold\f[R] \f[I]option\f[R]
|
|
Old generation size statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]MC\f[R]: Metaspace Committed Size (KB).
|
|
.PP
|
|
\f[CB]MU\f[R]: Metaspace utilization (KB).
|
|
.PP
|
|
\f[CB]CCSC\f[R]: Compressed class committed size (KB).
|
|
.PP
|
|
\f[CB]CCSU\f[R]: Compressed class space used (KB).
|
|
.PP
|
|
\f[CB]OC\f[R]: Current old space capacity (KB).
|
|
.PP
|
|
\f[CB]OU\f[R]: Old space utilization (KB).
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation GC events.
|
|
.PP
|
|
\f[CB]FGC\f[R]: Number of full GC events.
|
|
.PP
|
|
\f[CB]FGCT\f[R]: Full garbage collection time.
|
|
.PP
|
|
\f[CB]GCT\f[R]: Total garbage collection time.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gcoldcapacity\f[R] \f[I]option\f[R]
|
|
Old generation statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]OGCMN\f[R]: Minimum old generation capacity (KB).
|
|
.PP
|
|
\f[CB]OGCMX\f[R]: Maximum old generation capacity (KB).
|
|
.PP
|
|
\f[CB]OGC\f[R]: Current old generation capacity (KB).
|
|
.PP
|
|
\f[CB]OC\f[R]: Current old space capacity (KB).
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation GC events.
|
|
.PP
|
|
\f[CB]FGC\f[R]: Number of full GC events.
|
|
.PP
|
|
\f[CB]FGCT\f[R]: Full garbage collection time.
|
|
.PP
|
|
\f[CB]GCT\f[R]: Total garbage collection time.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gcmetacapacity\f[R] \f[I]option\f[R]
|
|
Metaspace size statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]MCMN\f[R]: Minimum metaspace capacity (KB).
|
|
.PP
|
|
\f[CB]MCMX\f[R]: Maximum metaspace capacity (KB).
|
|
.PP
|
|
\f[CB]MC\f[R]: Metaspace Committed Size (KB).
|
|
.PP
|
|
\f[CB]CCSMN\f[R]: Compressed class space minimum capacity (KB).
|
|
.PP
|
|
\f[CB]CCSMX\f[R]: Compressed class space maximum capacity (KB).
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation GC events.
|
|
.PP
|
|
\f[CB]FGC\f[R]: Number of full GC events.
|
|
.PP
|
|
\f[CB]FGCT\f[R]: Full garbage collection time.
|
|
.PP
|
|
\f[CB]GCT\f[R]: Total garbage collection time.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-gcutil\f[R] \f[I]option\f[R]
|
|
Summary of garbage collection statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]S0\f[R]: Survivor space 0 utilization as a percentage of the
|
|
space\[aq]s current capacity.
|
|
.PP
|
|
\f[CB]S1\f[R]: Survivor space 1 utilization as a percentage of the
|
|
space\[aq]s current capacity.
|
|
.PP
|
|
\f[CB]E\f[R]: Eden space utilization as a percentage of the space\[aq]s
|
|
current capacity.
|
|
.PP
|
|
\f[CB]O\f[R]: Old space utilization as a percentage of the space\[aq]s
|
|
current capacity.
|
|
.PP
|
|
\f[CB]M\f[R]: Metaspace utilization as a percentage of the space\[aq]s
|
|
current capacity.
|
|
.PP
|
|
\f[CB]CCS\f[R]: Compressed class space utilization as a percentage.
|
|
.PP
|
|
\f[CB]YGC\f[R]: Number of young generation GC events.
|
|
.PP
|
|
\f[CB]YGCT\f[R]: Young generation garbage collection time.
|
|
.PP
|
|
\f[CB]FGC\f[R]: Number of full GC events.
|
|
.PP
|
|
\f[CB]FGCT\f[R]: Full garbage collection time.
|
|
.PP
|
|
\f[CB]GCT\f[R]: Total garbage collection time.
|
|
.RE
|
|
.TP
|
|
.B \f[CB]\-printcompilation\f[R] \f[I]option\f[R]
|
|
Java HotSpot VM compiler method statistics.
|
|
.RS
|
|
.PP
|
|
\f[CB]Compiled\f[R]: Number of compilation tasks performed by the most
|
|
recently compiled method.
|
|
.PP
|
|
\f[CB]Size\f[R]: Number of bytes of byte code of the most recently
|
|
compiled method.
|
|
.PP
|
|
\f[CB]Type\f[R]: Compilation type of the most recently compiled method.
|
|
.PP
|
|
\f[CB]Method\f[R]: Class name and method name identifying the most
|
|
recently compiled method.
|
|
Class name uses a slash (/) instead of a dot (.) as a name space
|
|
separator.
|
|
The method name is the method within the specified class.
|
|
The format for these two fields is consistent with the HotSpot
|
|
\f[CB]\-XX:+PrintCompilation\f[R] option.
|
|
.RE
|
|
.SH VIRTUAL MACHINE IDENTIFIER
|
|
.PP
|
|
The syntax of the \f[CB]vmid\f[R] string corresponds to the syntax of a
|
|
URI:
|
|
.RS
|
|
.PP
|
|
[\f[I]protocol\f[R]\f[CB]:\f[R]][\f[CB]//\f[R]]\f[I]lvmid\f[R][\f[CB]\@\f[R]\f[I]hostname\f[R][\f[CB]:\f[R]\f[I]port\f[R]][\f[CB]/\f[R]\f[I]servername\f[R]]
|
|
.RE
|
|
.PP
|
|
The syntax of the \f[CB]vmid\f[R] string corresponds to the syntax of a
|
|
URI.
|
|
The \f[CB]vmid\f[R] string can vary from a simple integer that represents
|
|
a local JVM to a more complex construction that specifies a
|
|
communications protocol, port number, and other implementation\-specific
|
|
values.
|
|
.TP
|
|
.B \f[I]protocol\f[R]
|
|
The communications protocol.
|
|
If the \f[I]protocol\f[R] value is omitted and a host name isn\[aq]t
|
|
specified, then the default protocol is a platform\-specific optimized
|
|
local protocol.
|
|
If the \f[I]protocol\f[R] value is omitted and a host name is specified,
|
|
then the default protocol is \f[CB]rmi\f[R].
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]lvmid\f[R]
|
|
The local virtual machine identifier for the target JVM.
|
|
The \f[I]lvmid\f[R] is a platform\-specific value that uniquely
|
|
identifies a JVM on a system.
|
|
The \f[I]lvmid\f[R] is the only required component of a virtual machine
|
|
identifier.
|
|
The \f[I]lvmid\f[R] is typically, but not necessarily, the operating
|
|
system\[aq]s process identifier for the target JVM process.
|
|
You can use the \f[CB]jps\f[R] command to determine the \f[I]lvmid\f[R]
|
|
provided the JVM processes is not running in a separate docker instance.
|
|
You can also determine the \f[I]lvmid\f[R] on Oracle Solaris, Linux, and
|
|
OS X platforms with the \f[CB]ps\f[R] command, and on Windows with the
|
|
Windows Task Manager.
|
|
.RS
|
|
.PP
|
|
\f[B]Note:\f[R] JDK 10 has added support for using the Attach API when
|
|
attaching to Java processes running in a separate docker process.
|
|
However, the \f[CB]jps\f[R] command will not list the JVM processes that
|
|
are running in a separate docker instance.
|
|
If you are trying to connect a Linux host with a Virtual Machine that is
|
|
in a docker container, you must use tools such as \f[CB]ps\f[R] to look up
|
|
the PID of the JVM.
|
|
.RE
|
|
.TP
|
|
.B \f[I]hostname\f[R]
|
|
A host name or IP address that indicates the target host.
|
|
If the \f[I]hostname\f[R] value is omitted, then the target host is the
|
|
local host.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]port\f[R]
|
|
The default port for communicating with the remote server.
|
|
If the \f[I]hostname\f[R] value is omitted or the \f[I]protocol\f[R] value
|
|
specifies an optimized, local protocol, then the \f[I]port\f[R] value is
|
|
ignored.
|
|
Otherwise, treatment of the \f[I]port\f[R] parameter is
|
|
implementation\-specific.
|
|
For the default \f[CB]rmi\f[R] protocol, the port value indicates the port
|
|
number for the \f[CB]rmiregistry\f[R] on the remote host.
|
|
If the \f[I]port\f[R] value is omitted and the \f[I]protocol\f[R] value
|
|
indicates \f[CB]rmi\f[R], then the default rmiregistry port (1099) is
|
|
used.
|
|
.RS
|
|
.RE
|
|
.TP
|
|
.B \f[I]servername\f[R]
|
|
The treatment of the \f[I]servername\f[R] parameter depends on
|
|
implementation.
|
|
For the optimized local protocol, this field is ignored.
|
|
For the \f[CB]rmi\f[R] protocol, it represents the name of the RMI remote
|
|
object on the remote host.
|
|
.RS
|
|
.RE
|
|
.SH EXAMPLES
|
|
.PP
|
|
This section presents some examples of monitoring a local JVM with an
|
|
\f[I]lvmid\f[R] of 21891.
|
|
.SH THE GCUTIL OPTION
|
|
.PP
|
|
This example attaches to lvmid 21891 and takes 7 samples at 250
|
|
millisecond intervals and displays the output as specified by the
|
|
\f[CB]\-gcutil\f[R] option.
|
|
.PP
|
|
The output of this example shows that a young generation collection
|
|
occurred between the third and fourth sample.
|
|
The collection took 0.078 seconds and promoted objects from the eden
|
|
space (E) to the old space (O), resulting in an increase of old space
|
|
utilization from 66.80% to 68.19%.
|
|
Before the collection, the survivor space was 97.02% utilized, but after
|
|
this collection it\[aq]s 91.03% utilized.
|
|
.IP
|
|
.nf
|
|
\f[CB]
|
|
jstat\ \-gcutil\ 21891\ 250\ 7
|
|
\ \ S0\ \ \ \ \ S1\ \ \ \ \ E\ \ \ \ \ \ O\ \ \ \ \ \ M\ \ \ \ \ CCS\ \ \ \ YGC\ \ \ \ \ YGCT\ \ \ \ FGC\ \ \ \ FGCT\ \ \ \ \ GCT
|
|
\ \ 0.00\ \ 97.02\ \ 70.31\ \ 66.80\ \ 95.52\ \ 89.14\ \ \ \ \ \ 7\ \ \ \ 0.300\ \ \ \ \ 0\ \ \ \ 0.000\ \ \ \ 0.300
|
|
\ \ 0.00\ \ 97.02\ \ 86.23\ \ 66.80\ \ 95.52\ \ 89.14\ \ \ \ \ \ 7\ \ \ \ 0.300\ \ \ \ \ 0\ \ \ \ 0.000\ \ \ \ 0.300
|
|
\ \ 0.00\ \ 97.02\ \ 96.53\ \ 66.80\ \ 95.52\ \ 89.14\ \ \ \ \ \ 7\ \ \ \ 0.300\ \ \ \ \ 0\ \ \ \ 0.000\ \ \ \ 0.300
|
|
\ 91.03\ \ \ 0.00\ \ \ 1.98\ \ 68.19\ \ 95.89\ \ 91.24\ \ \ \ \ \ 8\ \ \ \ 0.378\ \ \ \ \ 0\ \ \ \ 0.000\ \ \ \ 0.378
|
|
\ 91.03\ \ \ 0.00\ \ 15.82\ \ 68.19\ \ 95.89\ \ 91.24\ \ \ \ \ \ 8\ \ \ \ 0.378\ \ \ \ \ 0\ \ \ \ 0.000\ \ \ \ 0.378
|
|
\ 91.03\ \ \ 0.00\ \ 17.80\ \ 68.19\ \ 95.89\ \ 91.24\ \ \ \ \ \ 8\ \ \ \ 0.378\ \ \ \ \ 0\ \ \ \ 0.000\ \ \ \ 0.378
|
|
\ 91.03\ \ \ 0.00\ \ 17.80\ \ 68.19\ \ 95.89\ \ 91.24\ \ \ \ \ \ 8\ \ \ \ 0.378\ \ \ \ \ 0\ \ \ \ 0.000\ \ \ \ 0.378
|
|
\f[R]
|
|
.fi
|
|
.SH REPEAT THE COLUMN HEADER STRING
|
|
.PP
|
|
This example attaches to lvmid 21891 and takes samples at 250
|
|
millisecond intervals and displays the output as specified by
|
|
\f[CB]\-gcnew\f[R] option.
|
|
In addition, it uses the \f[CB]\-h3\f[R] option to output the column
|
|
header after every 3 lines of data.
|
|
.PP
|
|
In addition to showing the repeating header string, this example shows
|
|
that between the second and third samples, a young GC occurred.
|
|
Its duration was 0.001 seconds.
|
|
The collection found enough active data that the survivor space 0
|
|
utilization (S0U) would have exceeded the desired survivor size (DSS).
|
|
As a result, objects were promoted to the old generation (not visible in
|
|
this output), and the tenuring threshold (TT) was lowered from 31 to 2.
|
|
.PP
|
|
Another collection occurs between the fifth and sixth samples.
|
|
This collection found very few survivors and returned the tenuring
|
|
threshold to 31.
|
|
.IP
|
|
.nf
|
|
\f[CB]
|
|
jstat\ \-gcnew\ \-h3\ 21891\ 250
|
|
\ S0C\ \ \ \ S1C\ \ \ \ S0U\ \ \ \ S1U\ \ \ TT\ MTT\ \ DSS\ \ \ \ \ \ EC\ \ \ \ \ \ \ EU\ \ \ \ \ YGC\ \ \ \ \ YGCT
|
|
\ \ 64.0\ \ \ 64.0\ \ \ \ 0.0\ \ \ 31.7\ 31\ \ 31\ \ \ 32.0\ \ \ \ 512.0\ \ \ \ 178.6\ \ \ \ 249\ \ \ \ 0.203
|
|
\ \ 64.0\ \ \ 64.0\ \ \ \ 0.0\ \ \ 31.7\ 31\ \ 31\ \ \ 32.0\ \ \ \ 512.0\ \ \ \ 355.5\ \ \ \ 249\ \ \ \ 0.203
|
|
\ \ 64.0\ \ \ 64.0\ \ \ 35.4\ \ \ \ 0.0\ \ 2\ \ 31\ \ \ 32.0\ \ \ \ 512.0\ \ \ \ \ 21.9\ \ \ \ 250\ \ \ \ 0.204
|
|
\ S0C\ \ \ \ S1C\ \ \ \ S0U\ \ \ \ S1U\ \ \ TT\ MTT\ \ DSS\ \ \ \ \ \ EC\ \ \ \ \ \ \ EU\ \ \ \ \ YGC\ \ \ \ \ YGCT
|
|
\ \ 64.0\ \ \ 64.0\ \ \ 35.4\ \ \ \ 0.0\ \ 2\ \ 31\ \ \ 32.0\ \ \ \ 512.0\ \ \ \ 245.9\ \ \ \ 250\ \ \ \ 0.204
|
|
\ \ 64.0\ \ \ 64.0\ \ \ 35.4\ \ \ \ 0.0\ \ 2\ \ 31\ \ \ 32.0\ \ \ \ 512.0\ \ \ \ 421.1\ \ \ \ 250\ \ \ \ 0.204
|
|
\ \ 64.0\ \ \ 64.0\ \ \ \ 0.0\ \ \ 19.0\ 31\ \ 31\ \ \ 32.0\ \ \ \ 512.0\ \ \ \ \ 84.4\ \ \ \ 251\ \ \ \ 0.204
|
|
\ S0C\ \ \ \ S1C\ \ \ \ S0U\ \ \ \ S1U\ \ \ TT\ MTT\ \ DSS\ \ \ \ \ \ EC\ \ \ \ \ \ \ EU\ \ \ \ \ YGC\ \ \ \ \ YGCT
|
|
\ \ 64.0\ \ \ 64.0\ \ \ \ 0.0\ \ \ 19.0\ 31\ \ 31\ \ \ 32.0\ \ \ \ 512.0\ \ \ \ 306.7\ \ \ \ 251\ \ \ \ 0.204
|
|
\f[R]
|
|
.fi
|
|
.SH INCLUDE A TIME STAMP FOR EACH SAMPLE
|
|
.PP
|
|
This example attaches to lvmid 21891 and takes 3 samples at 250
|
|
millisecond intervals.
|
|
The \f[CB]\-t\f[R] option is used to generate a time stamp for each sample
|
|
in the first column.
|
|
.PP
|
|
The Timestamp column reports the elapsed time in seconds since the start
|
|
of the target JVM.
|
|
In addition, the \f[CB]\-gcoldcapacity\f[R] output shows the old
|
|
generation capacity (OGC) and the old space capacity (OC) increasing as
|
|
the heap expands to meet allocation or promotion demands.
|
|
The old generation capacity (OGC) has grown from 11,696 KB to 13,820 KB
|
|
after the eighty\-first full garbage collection (FGC).
|
|
The maximum capacity of the generation (and space) is 60,544 KB (OGCMX),
|
|
so it still has room to expand.
|
|
.IP
|
|
.nf
|
|
\f[CB]
|
|
Timestamp\ \ \ \ \ \ OGCMN\ \ \ \ OGCMX\ \ \ \ \ OGC\ \ \ \ \ \ \ OC\ \ \ \ \ \ \ YGC\ \ \ FGC\ \ \ \ FGCT\ \ \ \ GCT
|
|
\ \ \ \ \ \ \ \ \ \ 150.1\ \ \ 1408.0\ \ 60544.0\ \ 11696.0\ \ 11696.0\ \ \ 194\ \ \ \ 80\ \ \ \ 2.874\ \ \ 3.799
|
|
\ \ \ \ \ \ \ \ \ \ 150.4\ \ \ 1408.0\ \ 60544.0\ \ 13820.0\ \ 13820.0\ \ \ 194\ \ \ \ 81\ \ \ \ 2.938\ \ \ 3.863
|
|
\ \ \ \ \ \ \ \ \ \ 150.7\ \ \ 1408.0\ \ 60544.0\ \ 13820.0\ \ 13820.0\ \ \ 194\ \ \ \ 81\ \ \ \ 2.938\ \ \ 3.863
|
|
\f[R]
|
|
.fi
|
|
.SH MONITOR INSTRUMENTATION FOR A REMOTE JVM
|
|
.PP
|
|
This example attaches to lvmid 40496 on the system named
|
|
\f[CB]remote.domain\f[R] using the \f[CB]\-gcutil\f[R] option, with samples
|
|
taken every second indefinitely.
|
|
.PP
|
|
The lvmid is combined with the name of the remote host to construct a
|
|
vmid of \f[CB]40496\@remote.domain\f[R].
|
|
This vmid results in the use of the \f[CB]rmi\f[R] protocol to communicate
|
|
to the default \f[CB]jstatd\f[R] server on the remote host.
|
|
The \f[CB]jstatd\f[R] server is located using the \f[CB]rmiregistry\f[R]
|
|
command on \f[CB]remote.domain\f[R] that\[aq]s bound to the default port
|
|
of the \f[CB]rmiregistry\f[R] command (port 1099).
|
|
.IP
|
|
.nf
|
|
\f[CB]
|
|
jstat\ \-gcutil\ 40496\@remote.domain\ 1000
|
|
\&...\ output\ omitted
|
|
\f[R]
|
|
.fi
|