.\" Copyright (c) 2004, 2023, 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.19.2
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[R]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.TH "JSTAT" "1" "2023" "JDK 21" "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[V]jstat\f[R] \f[I]generalOptions\f[R]
.PP
\f[V]jstat\f[R] \f[I]outputOptions\f[R] [\f[V]-t\f[R]] [\f[V]-h\f[R]
\f[I]lines\f[R]] \f[I]vmid\f[R] [\f[I]interval\f[R] [\f[I]count\f[R]]]
.TP
\f[I]generalOptions\f[R]
A single general command-line option.
See \f[B]General Options\f[R].
.TP
\f[I]outputOptions\f[R]
An option reported by the \f[V]-options\f[R] option.
One or more output options that consist of a single
\f[V]statOption\f[R], plus any of the \f[V]-t\f[R], \f[V]-h\f[R], and
\f[V]-J\f[R] options.
See \f[B]Output Options for the jstat Command\f[R].
.TP
\f[V]-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.
.TP
\f[V]-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[V]0\f[R], which displays the column header of
the first row of data.
.TP
\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].
.TP
\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[V]jstat\f[R] command produces its output at each
interval.
.TP
\f[I]count\f[R]
The number of samples to display.
The default value is infinity, which causes the \f[V]jstat\f[R] command
to display statistics until the target JVM terminates or the
\f[V]jstat\f[R] command is terminated.
This value must be a positive integer.
.SH DESCRIPTION
.PP
The \f[V]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[V]vmid\f[R] option.
.PP
The \f[V]jstat\f[R] command supports two types of options, general
options and output options.
General options cause the \f[V]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
\f[V]-help\f[R]
Displays a help message.
.TP
\f[V]-options\f[R]
Displays a list of static options.
See \f[B]Output Options for the jstat Command\f[R].
.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[V]jstat\f[R]
command\[aq]s output, and consist of a single \f[V]statOption\f[R], plus
any of the other output options (\f[V]-h\f[R], \f[V]-t\f[R], and
\f[V]-J\f[R]).
The \f[V]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[V]-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[V]-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[V]jstat\f[R] command displays its
output.
.PP
\f[B]Note:\f[R]
.PP
Don\[aq]t write scripts to parse the \f[V]jstat\f[R] command\[aq]s
output because the format might change in future releases.
If you write scripts that parse the \f[V]jstat\f[R] command output, then
expect to modify them for future releases of this tool.
.TP
\f[V]-statOption\f[R]
Determines the statistics information that the \f[V]jstat\f[R] command
displays.
The following lists the available options.
Use the \f[V]-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[V]class\f[R]: Displays statistics about the behavior of the class
loader.
.PP
\f[V]compiler\f[R]: Displays statistics about the behavior of the Java
HotSpot VM Just-in-Time compiler.
.PP
\f[V]gc\f[R]: Displays statistics about the behavior of the garbage
collected heap.
.PP
\f[V]gccapacity\f[R]: Displays statistics about the capacities of the
generations and their corresponding spaces.
.PP
\f[V]gccause\f[R]: Displays a summary about garbage collection
statistics (same as \f[V]-gcutil\f[R]), with the cause of the last and
current (when applicable) garbage collection events.
.PP
\f[V]gcnew\f[R]: Displays statistics about the behavior of the new
generation.
.PP
\f[V]gcnewcapacity\f[R]: Displays statistics about the sizes of the new
generations and their corresponding spaces.
.PP
\f[V]gcold\f[R]: Displays statistics about the behavior of the old
generation and metaspace statistics.
.PP
\f[V]gcoldcapacity\f[R]: Displays statistics about the sizes of the old
generation.
.PP
\f[V]gcmetacapacity\f[R]: Displays statistics about the sizes of the
metaspace.
.PP
\f[V]gcutil\f[R]: Displays a summary about garbage collection
statistics.
.PP
\f[V]printcompilation\f[R]: Displays Java HotSpot VM compilation method
statistics.
.RE
.TP
\f[V]-J\f[R]\f[I]javaOption\f[R]
Passes \f[I]javaOption\f[R] to the Java application launcher.
For example, \f[V]-J-Xms48m\f[R] sets the startup memory to 48 MB.
For a complete list of options, see \f[B]java\f[R].
.SH STAT OPTIONS AND OUTPUT
.PP
The following information summarizes the columns that the
\f[V]jstat\f[R] command outputs for each \f[I]statOption\f[R].
.TP
\f[V]-class\f[R] \f[I]option\f[R]
Class loader statistics.
.RS
.PP
\f[V]Loaded\f[R]: Number of classes loaded.
.PP
\f[V]Bytes\f[R]: Number of KB loaded.
.PP
\f[V]Unloaded\f[R]: Number of classes unloaded.
.PP
\f[V]Bytes\f[R]: Number of KB unloaded.
.PP
\f[V]Time\f[R]: Time spent performing class loading and unloading
operations.
.RE
.TP
\f[V]-compiler\f[R] \f[I]option\f[R]
Java HotSpot VM Just-in-Time compiler statistics.
.RS
.PP
\f[V]Compiled\f[R]: Number of compilation tasks performed.
.PP
\f[V]Failed\f[R]: Number of compilations tasks failed.
.PP
\f[V]Invalid\f[R]: Number of compilation tasks that were invalidated.
.PP
\f[V]Time\f[R]: Time spent performing compilation tasks.
.PP
\f[V]FailedType\f[R]: Compile type of the last failed compilation.
.PP
\f[V]FailedMethod\f[R]: Class name and method of the last failed
compilation.
.RE
.TP
\f[V]-gc\f[R] \f[I]option\f[R]
Garbage collected heap statistics.
.RS
.PP
\f[V]S0C\f[R]: Current survivor space 0 capacity (KB).
.PP
\f[V]S1C\f[R]: Current survivor space 1 capacity (KB).
.PP
\f[V]S0U\f[R]: Survivor space 0 utilization (KB).
.PP
\f[V]S1U\f[R]: Survivor space 1 utilization (KB).
.PP
\f[V]EC\f[R]: Current eden space capacity (KB).
.PP
\f[V]EU\f[R]: Eden space utilization (KB).
.PP
\f[V]OC\f[R]: Current old space capacity (KB).
.PP
\f[V]OU\f[R]: Old space utilization (KB).
.PP
\f[V]MC\f[R]: Metaspace Committed Size (KB).
.PP
\f[V]MU\f[R]: Metaspace utilization (KB).
.PP
\f[V]CCSC\f[R]: Compressed class committed size (KB).
.PP
\f[V]CCSU\f[R]: Compressed class space used (KB).
.PP
\f[V]YGC\f[R]: Number of young generation garbage collection (GC)
events.
.PP
\f[V]YGCT\f[R]: Young generation garbage collection time.
.PP
\f[V]FGC\f[R]: Number of full GC events.
.PP
\f[V]FGCT\f[R]: Full garbage collection time.
.PP
\f[V]GCT\f[R]: Total garbage collection time.
.RE
.TP
\f[V]-gccapacity\f[R] \f[I]option\f[R]
Memory pool generation and space capacities.
.RS
.PP
\f[V]NGCMN\f[R]: Minimum new generation capacity (KB).
.PP
\f[V]NGCMX\f[R]: Maximum new generation capacity (KB).
.PP
\f[V]NGC\f[R]: Current new generation capacity (KB).
.PP
\f[V]S0C\f[R]: Current survivor space 0 capacity (KB).
.PP
\f[V]S1C\f[R]: Current survivor space 1 capacity (KB).
.PP
\f[V]EC\f[R]: Current eden space capacity (KB).
.PP
\f[V]OGCMN\f[R]: Minimum old generation capacity (KB).
.PP
\f[V]OGCMX\f[R]: Maximum old generation capacity (KB).
.PP
\f[V]OGC\f[R]: Current old generation capacity (KB).
.PP
\f[V]OC\f[R]: Current old space capacity (KB).
.PP
\f[V]MCMN\f[R]: Minimum metaspace capacity (KB).
.PP
\f[V]MCMX\f[R]: Maximum metaspace capacity (KB).
.PP
\f[V]MC\f[R]: Metaspace Committed Size (KB).
.PP
\f[V]CCSMN\f[R]: Compressed class space minimum capacity (KB).
.PP
\f[V]CCSMX\f[R]: Compressed class space maximum capacity (KB).
.PP
\f[V]CCSC\f[R]: Compressed class committed size (KB).
.PP
\f[V]YGC\f[R]: Number of young generation GC events.
.PP
\f[V]FGC\f[R]: Number of full GC events.
.RE
.TP
\f[V]-gccause\f[R] \f[I]option\f[R]
This option displays the same summary of garbage collection statistics
as the \f[V]-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[V]-gcutil\f[R], this option
adds the following columns:
.RS
.PP
\f[V]LGCC\f[R]: Cause of last garbage collection
.PP
\f[V]GCC\f[R]: Cause of current garbage collection
.RE
.TP
\f[V]-gcnew\f[R] \f[I]option\f[R]
New generation statistics.
.RS
.PP
\f[V]S0C\f[R]: Current survivor space 0 capacity (KB).
.PP
\f[V]S1C\f[R]: Current survivor space 1 capacity (KB).
.PP
\f[V]S0U\f[R]: Survivor space 0 utilization (KB).
.PP
\f[V]S1U\f[R]: Survivor space 1 utilization (KB).
.PP
\f[V]TT\f[R]: Tenuring threshold.
.PP
\f[V]MTT\f[R]: Maximum tenuring threshold.
.PP
\f[V]DSS\f[R]: Desired survivor size (KB).
.PP
\f[V]EC\f[R]: Current eden space capacity (KB).
.PP
\f[V]EU\f[R]: Eden space utilization (KB).
.PP
\f[V]YGC\f[R]: Number of young generation GC events.
.PP
\f[V]YGCT\f[R]: Young generation garbage collection time.
.RE
.TP
\f[V]-gcnewcapacity\f[R] \f[I]option\f[R]
New generation space size statistics.
.RS
.PP
\f[V]NGCMN\f[R]: Minimum new generation capacity (KB).
.PP
\f[V]NGCMX\f[R]: Maximum new generation capacity (KB).
.PP
\f[V]NGC\f[R]: Current new generation capacity (KB).
.PP
\f[V]S0CMX\f[R]: Maximum survivor space 0 capacity (KB).
.PP
\f[V]S0C\f[R]: Current survivor space 0 capacity (KB).
.PP
\f[V]S1CMX\f[R]: Maximum survivor space 1 capacity (KB).
.PP
\f[V]S1C\f[R]: Current survivor space 1 capacity (KB).
.PP
\f[V]ECMX\f[R]: Maximum eden space capacity (KB).
.PP
\f[V]EC\f[R]: Current eden space capacity (KB).
.PP
\f[V]YGC\f[R]: Number of young generation GC events.
.PP
\f[V]FGC\f[R]: Number of full GC events.
.RE
.TP
\f[V]-gcold\f[R] \f[I]option\f[R]
Old generation size statistics.
.RS
.PP
\f[V]MC\f[R]: Metaspace Committed Size (KB).
.PP
\f[V]MU\f[R]: Metaspace utilization (KB).
.PP
\f[V]CCSC\f[R]: Compressed class committed size (KB).
.PP
\f[V]CCSU\f[R]: Compressed class space used (KB).
.PP
\f[V]OC\f[R]: Current old space capacity (KB).
.PP
\f[V]OU\f[R]: Old space utilization (KB).
.PP
\f[V]YGC\f[R]: Number of young generation GC events.
.PP
\f[V]FGC\f[R]: Number of full GC events.
.PP
\f[V]FGCT\f[R]: Full garbage collection time.
.PP
\f[V]GCT\f[R]: Total garbage collection time.
.RE
.TP
\f[V]-gcoldcapacity\f[R] \f[I]option\f[R]
Old generation statistics.
.RS
.PP
\f[V]OGCMN\f[R]: Minimum old generation capacity (KB).
.PP
\f[V]OGCMX\f[R]: Maximum old generation capacity (KB).
.PP
\f[V]OGC\f[R]: Current old generation capacity (KB).
.PP
\f[V]OC\f[R]: Current old space capacity (KB).
.PP
\f[V]YGC\f[R]: Number of young generation GC events.
.PP
\f[V]FGC\f[R]: Number of full GC events.
.PP
\f[V]FGCT\f[R]: Full garbage collection time.
.PP
\f[V]GCT\f[R]: Total garbage collection time.
.RE
.TP
\f[V]-gcmetacapacity\f[R] \f[I]option\f[R]
Metaspace size statistics.
.RS
.PP
\f[V]MCMN\f[R]: Minimum metaspace capacity (KB).
.PP
\f[V]MCMX\f[R]: Maximum metaspace capacity (KB).
.PP
\f[V]MC\f[R]: Metaspace Committed Size (KB).
.PP
\f[V]CCSMN\f[R]: Compressed class space minimum capacity (KB).
.PP
\f[V]CCSMX\f[R]: Compressed class space maximum capacity (KB).
.PP
\f[V]YGC\f[R]: Number of young generation GC events.
.PP
\f[V]FGC\f[R]: Number of full GC events.
.PP
\f[V]FGCT\f[R]: Full garbage collection time.
.PP
\f[V]GCT\f[R]: Total garbage collection time.
.RE
.TP
\f[V]-gcutil\f[R] \f[I]option\f[R]
Summary of garbage collection statistics.
.RS
.PP
\f[V]S0\f[R]: Survivor space 0 utilization as a percentage of the
space\[aq]s current capacity.
.PP
\f[V]S1\f[R]: Survivor space 1 utilization as a percentage of the
space\[aq]s current capacity.
.PP
\f[V]E\f[R]: Eden space utilization as a percentage of the space\[aq]s
current capacity.
.PP
\f[V]O\f[R]: Old space utilization as a percentage of the space\[aq]s
current capacity.
.PP
\f[V]M\f[R]: Metaspace utilization as a percentage of the space\[aq]s
current capacity.
.PP
\f[V]CCS\f[R]: Compressed class space utilization as a percentage.
.PP
\f[V]YGC\f[R]: Number of young generation GC events.
.PP
\f[V]YGCT\f[R]: Young generation garbage collection time.
.PP
\f[V]FGC\f[R]: Number of full GC events.
.PP
\f[V]FGCT\f[R]: Full garbage collection time.
.PP
\f[V]GCT\f[R]: Total garbage collection time.
.RE
.TP
\f[V]-printcompilation\f[R] \f[I]option\f[R]
Java HotSpot VM compiler method statistics.
.RS
.PP
\f[V]Compiled\f[R]: Number of compilation tasks performed by the most
recently compiled method.
.PP
\f[V]Size\f[R]: Number of bytes of byte code of the most recently
compiled method.
.PP
\f[V]Type\f[R]: Compilation type of the most recently compiled method.
.PP
\f[V]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[V]-XX:+PrintCompilation\f[R] option.
.RE
.SH VIRTUAL MACHINE IDENTIFIER
.PP
The syntax of the \f[V]vmid\f[R] string corresponds to the syntax of a
URI:
.RS
.PP
[\f[I]protocol\f[R]\f[V]:\f[R]][\f[V]//\f[R]]\f[I]lvmid\f[R][\f[V]\[at]\f[R]\f[I]hostname\f[R][\f[V]:\f[R]\f[I]port\f[R]][\f[V]/\f[R]\f[I]servername\f[R]]
.RE
.PP
The syntax of the \f[V]vmid\f[R] string corresponds to the syntax of a
URI.
The \f[V]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
\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[V]rmi\f[R].
.TP
\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[V]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 Linux and macOS platforms
with the \f[V]ps\f[R] command, and on Windows with the Windows Task
Manager.
.TP
\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.
.TP
\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[V]rmi\f[R] protocol, the port value indicates the
port number for the \f[V]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[V]rmi\f[R], then the default rmiregistry port (1099) is
used.
.TP
\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[V]rmi\f[R] protocol, it represents the name of the RMI remote
object on the remote host.
.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[V]-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[V]-gcnew\f[R] option.
In addition, it uses the \f[V]-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[V]-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[V]-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[V]remote.domain\f[R] using the \f[V]-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[V]40496\[at]remote.domain\f[R].
This vmid results in the use of the \f[V]rmi\f[R] protocol to
communicate to the default \f[V]jstatd\f[R] server on the remote host.
The \f[V]jstatd\f[R] server is located using the \f[V]rmiregistry\f[R]
command on \f[V]remote.domain\f[R] that\[aq]s bound to the default port
of the \f[V]rmiregistry\f[R] command (port 1099).
.IP
.nf
\f[CB]
jstat -gcutil 40496\[at]remote.domain 1000
\&... output omitted
\f[R]
.fi
