< prev index next >
src/jdk.jcmd/share/man/jstat.1
Print this page
*** 1,7 ****
! '\" t
! .\" Copyright (c) 2004, 2015, 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.
--- 1,6 ----
! .\" 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.
*** 18,777 ****
.\"
.\" 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.
.\"
! .\" Title: jstat
! .\" Language: English
! .\" Date: 03 March 2015
! .\" SectDesc: Monitoring Tools
! .\" Software: JDK 8
! .\" Arch: generic
! .\" Part Number: E38207-04
! .\" Doc ID: JSSON
.\"
! .if n .pl 99999
! .TH "jstat" "1" "03 March 2015" "JDK 8" "Monitoring Tools"
! .\" -----------------------------------------------------------------
! .\" * Define some portability stuff
! .\" -----------------------------------------------------------------
! .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! .\" http://bugs.debian.org/507673
! .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
! .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
! .ie \n(.g .ds Aq \(aq
! .el .ds Aq '
! .\" -----------------------------------------------------------------
! .\" * set default formatting
! .\" -----------------------------------------------------------------
! .\" disable hyphenation
! .nh
! .\" disable justification (adjust text to left margin only)
! .ad l
! .\" -----------------------------------------------------------------
! .\" * MAIN CONTENT STARTS HERE *
! .\" -----------------------------------------------------------------
! .SH "NAME"
! jstat \- Monitors Java Virtual Machine (JVM) statistics\&. This command is experimental and unsupported\&.
! .SH "SYNOPSIS"
! .sp
! .if n \{\
! .RS 4
! .\}
! .nf
! \fBjstat\fR [ \fIgeneralOption\fR | \fIoutputOptions vmid\fR [ \fIinterval\fR[s|ms] [ \fIcount \fR] ]
! .fi
! .if n \{\
.RE
! .\}
.PP
! \fIgeneralOption\fR
! .RS 4
! A single general command\-line option
! \fB\-help\fR
! or
! \fB\-options\fR\&. See General Options\&.
! .RE
! .PP
! \fIoutputOptions\fR
! .RS 4
! One or more output options that consist of a single
! \fBstatOption\fR, plus any of the
! \fB\-t\fR,
! \fB\-h\fR, and
! \fB\-J\fR
! options\&. See Output Options\&.
! .RE
! .PP
! \fIvmid\fR
! .RS 4
! Virtual machine identifier, which is a string that indicates the target JVM\&. The general syntax is the following:
! .sp
! .if n \{\
! .RS 4
! .\}
! .nf
! \fB[protocol:][//]lvmid[@hostname[:port]/servername]\fR
!
! .fi
! .if n \{\
.RE
! .\}
! The syntax of the
! \fBvmid\fR
! string corresponds to the syntax of a URI\&. The
! \fBvmid\fR
! 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\&. See Virtual Machine Identifier\&.
! .RE
! .PP
! \fIinterval\fR [s|ms]
! .RS 4
! Sampling interval in the specified units, seconds (s) or milliseconds (ms)\&. Default units are milliseconds\&. Must be a positive integer\&. When specified, the
! \fBjstat\fR
! command produces its output at each interval\&.
! .RE
! .PP
! \fIcount\fR
! .RS 4
! Number of samples to display\&. The default value is infinity which causes the
! \fBjstat\fR
! command to display statistics until the target JVM terminates or the
! \fBjstat\fR
! command is terminated\&. This value must be a positive integer\&.
! .RE
! .SH "DESCRIPTION"
! .PP
! The
! \fBjstat\fR
! command displays performance statistics for an instrumented Java HotSpot VM\&. The target JVM is identified by its virtual machine identifier, or
! \fBvmid\fR
! option\&.
! .SH "VIRTUAL MACHINE IDENTIFIER"
! .PP
! The syntax of the
! \fBvmid\fR
! string corresponds to the syntax of a URI:
! .sp
! .if n \{\
! .RS 4
! .\}
! .nf
! \fB[protocol:][//]lvmid[@hostname[:port]/servername]\fR
!
! .fi
! .if n \{\
.RE
! .\}
.PP
! \fIprotocol\fR
! .RS 4
! The communications protocol\&. If the
! \fIprotocol\fR
! value is omitted and a host name is not specified, then the default protocol is a platform\-specific optimized local protocol\&. If the
! \fIprotocol\fR
! value is omitted and a host name is specified, then the default protocol is
! \fBrmi\fR\&.
! .RE
! .PP
! \fIlvmid\fR
! .RS 4
! The local virtual machine identifier for the target JVM\&. The
! \fBlvmid\fR
! is a platform\-specific value that uniquely identifies a JVM on a system\&. The
! \fBlvmid\fR
! is the only required component of a virtual machine identifier\&. The
! \fBlvmid\fR
! is typically, but not necessarily, the operating system\*(Aqs process identifier for the target JVM process\&. You can use the
! \fBjps\fR
! command to determine the
! \fBlvmid\fR\&. Also, you can determine the
! \fBlvmid\fR
! on Solaris, Linux, and OS X platforms with the
! \fBps\fR
! command, and on Windows with the Windows Task Manager\&.
! .RE
! .PP
! \fIhostname\fR
! .RS 4
! A hostname or IP address that indicates the target host\&. If the
! \fIhostname\fR
! value is omitted, then the target host is the local host\&.
! .RE
! .PP
! \fIport\fR
! .RS 4
! The default port for communicating with the remote server\&. If the
! \fIhostname\fR
! value is omitted or the
! \fIprotocol\fR
! value specifies an optimized, local protocol, then the
! \fIport\fR
! value is ignored\&. Otherwise, treatment of the
! \fBport\fR
! parameter is implementation\-specific\&. For the default
! \fBrmi\fR
! protocol, the port value indicates the port number for the rmiregistry on the remote host\&. If the
! \fIport\fR
! value is omitted and the
! \fIprotocol\fR
! value indicates
! \fBrmi\fR, then the default rmiregistry port (1099) is used\&.
! .RE
! .PP
! \fIservername\fR
! .RS 4
! The treatment of the
! \fBservername\fR
! parameter depends on implementation\&. For the optimized local protocol, this field is ignored\&. For the
! \fBrmi\fR
! protocol, it represents the name of the RMI remote object on the remote host\&.
! .RE
! .SH "OPTIONS"
! .PP
! The
! \fBjstat\fR
! command supports two types of options, general options and output options\&. General options cause the
! \fBjstat\fR
! 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\&.
! .SS "General Options"
! .PP
! If you specify one of the general options, then you cannot specify any other option or parameter\&.
! .PP
! \-help
! .RS 4
! Displays a help message\&.
! .RE
! .PP
! \-options
! .RS 4
! Displays a list of static options\&. See Output Options\&.
! .RE
! .SS "Output Options"
! .PP
! If you do not specify a general option, then you can specify output options\&. Output options determine the content and format of the
! \fBjstat\fR
! command\*(Aqs output, and consist of a single
! \fBstatOption\fR, plus any of the other output options (\fB\-h\fR,
! \fB\-t\fR, and
! \fB\-J\fR)\&. The
! \fBstatOption\fR
! 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
! \fB\-h\fR
! 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
! \fB\-t\fR
! 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
! \fBjstat\fR
! command displays its output\&.
! .PP
! \fBNote:\fR
! Do not to write scripts to parse the
! \fBjstat\fR
! command\*(Aqs output because the format might change in future releases\&. If you write scripts that parse
! \fBjstat\fR
! command output, then expect to modify them for future releases of this tool\&.
! .PP
! \-\fIstatOption\fR
! .RS 4
! Determines the statistics information the
! \fBjstat\fR
! command displays\&. The following lists the available options\&. Use the
! \fB\-options\fR
! general option to display the list of options for a particular platform installation\&. See Stat Options and Output\&.
! .sp
! \fBclass\fR: Displays statistics about the behavior of the class loader\&.
! .sp
! \fBcompiler\fR: Displays statistics about the behavior of the Java HotSpot VM Just\-in\-Time compiler\&.
! .sp
! \fBgc\fR: Displays statistics about the behavior of the garbage collected heap\&.
! .sp
! \fBgccapacity\fR: Displays statistics about the capacities of the generations and their corresponding spaces\&.
! .sp
! \fBgccause\fR: Displays a summary about garbage collection statistics (same as
! \fB\-gcutil\fR), with the cause of the last and current (when applicable) garbage collection events\&.
! .sp
! \fBgcnew\fR: Displays statistics of the behavior of the new generation\&.
! .sp
! \fBgcnewcapacity\fR: Displays statistics about the sizes of the new generations and its corresponding spaces\&.
! .sp
! \fBgcold\fR: Displays statistics about the behavior of the old generation and metaspace statistics\&.
! .sp
! \fBgcoldcapacity\fR: Displays statistics about the sizes of the old generation\&.
! .sp
! \fBgcmetacapacity\fR: Displays statistics about the sizes of the metaspace\&.
! .sp
! \fBgcutil\fR: Displays a summary about garbage collection statistics\&.
! .sp
! \fBprintcompilation\fR: Displays Java HotSpot VM compilation method statistics\&.
! .RE
! .PP
! \-h \fIn\fR
! .RS 4
! Displays a column header every
! \fIn\fR
! samples (output rows), where
! \fIn\fR
! is a positive integer\&. Default value is 0, which displays the column header the first row of data\&.
! .RE
! .PP
! \-t
! .RS 4
! Displays a timestamp column as the first column of output\&. The time stamp is the time since the start time of the target JVM\&.
! .RE
! .PP
! \-J\fIjavaOption\fR
! .RS 4
! Passes
! \fBjavaOption\fR
! to the Java application launcher\&. For example,
! \fB\-J\-Xms48m\fR
! sets the startup memory to 48 MB\&. For a complete list of options, see
! java(1)\&.
! .RE
! .SS "Stat Options and Output"
! .PP
! The following information summarizes the columns that the
! \fBjstat\fR
! command outputs for each
! \fIstatOption\fR\&.
! .PP
! \-class \fIoption\fR
! .RS 4
! Class loader statistics\&.
! .sp
! \fBLoaded\fR: Number of classes loaded\&.
! .sp
! \fBBytes\fR: Number of kBs loaded\&.
! .sp
! \fBUnloaded\fR: Number of classes unloaded\&.
! .sp
! \fBBytes\fR: Number of Kbytes unloaded\&.
! .sp
! \fBTime\fR: Time spent performing class loading and unloading operations\&.
! .RE
! .PP
! \-compiler \fIoption\fR
! .RS 4
! Java HotSpot VM Just\-in\-Time compiler statistics\&.
! .sp
! \fBCompiled\fR: Number of compilation tasks performed\&.
! .sp
! \fBFailed\fR: Number of compilations tasks failed\&.
! .sp
! \fBInvalid\fR: Number of compilation tasks that were invalidated\&.
! .sp
! \fBTime\fR: Time spent performing compilation tasks\&.
! .sp
! \fBFailedType\fR: Compile type of the last failed compilation\&.
! .sp
! \fBFailedMethod\fR: Class name and method of the last failed compilation\&.
! .RE
! .PP
! \-gc \fIoption\fR
! .RS 4
! Garbage\-collected heap statistics\&.
! .sp
! \fBS0C\fR: Current survivor space 0 capacity (kB)\&.
! .sp
! \fBS1C\fR: Current survivor space 1 capacity (kB)\&.
! .sp
! \fBS0U\fR: Survivor space 0 utilization (kB)\&.
! .sp
! \fBS1U\fR: Survivor space 1 utilization (kB)\&.
! .sp
! \fBEC\fR: Current eden space capacity (kB)\&.
! .sp
! \fBEU\fR: Eden space utilization (kB)\&.
! .sp
! \fBOC\fR: Current old space capacity (kB)\&.
! .sp
! \fBOU\fR: Old space utilization (kB)\&.
! .sp
! \fBMC\fR: Metaspace capacity (kB)\&.
! .sp
! \fBMU\fR: Metacspace utilization (kB)\&.
! .sp
! \fBCCSC\fR: Compressed class space capacity (kB)\&.
! .sp
! \fBCCSU\fR: Compressed class space used (kB)\&.
! .sp
! \fBYGC\fR: Number of young generation garbage collection events\&.
! .sp
! \fBYGCT\fR: Young generation garbage collection time\&.
! .sp
! \fBFGC\fR: Number of full GC events\&.
! .sp
! \fBFGCT\fR: Full garbage collection time\&.
! .sp
! \fBGCT\fR: Total garbage collection time\&.
! .RE
! .PP
! \-gccapacity \fIoption\fR
! .RS 4
! Memory pool generation and space capacities\&.
! .sp
! \fBNGCMN\fR: Minimum new generation capacity (kB)\&.
! .sp
! \fBNGCMX\fR: Maximum new generation capacity (kB)\&.
! .sp
! \fBNGC\fR: Current new generation capacity (kB)\&.
! .sp
! \fBS0C\fR: Current survivor space 0 capacity (kB)\&.
! .sp
! \fBS1C\fR: Current survivor space 1 capacity (kB)\&.
! .sp
! \fBEC\fR: Current eden space capacity (kB)\&.
! .sp
! \fBOGCMN\fR: Minimum old generation capacity (kB)\&.
! .sp
! \fBOGCMX\fR: Maximum old generation capacity (kB)\&.
! .sp
! \fBOGC\fR: Current old generation capacity (kB)\&.
! .sp
! \fBOC\fR: Current old space capacity (kB)\&.
! .sp
! \fBMCMN\fR: Minimum metaspace capacity (kB)\&.
! .sp
! \fBMCMX\fR: Maximum metaspace capacity (kB)\&.
! .sp
! \fBMC\fR: Metaspace capacity (kB)\&.
! .sp
! \fBCCSMN\fR: Compressed class space minimum capacity (kB)\&.
! .sp
! \fBCCSMX\fR: Compressed class space maximum capacity (kB)\&.
! .sp
! \fBCCSC\fR: Compressed class space capacity (kB)\&.
! .sp
! \fBYGC\fR: Number of young generation GC events\&.
! .sp
! \fBFGC\fR: Number of full GC events\&.
! .RE
! .PP
! \-gccause \fIoption\fR
! .RS 4
! This option displays the same summary of garbage collection statistics as the
! \fB\-gcutil\fR
! 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
! \fB\-gcutil\fR, this option adds the following columns\&.
! .sp
! \fBLGCC\fR: Cause of last garbage collection
! .sp
! \fBGCC\fR: Cause of current garbage collection
! .RE
! .PP
! \-gcnew \fIoption\fR
! .RS 4
! New generation statistics\&.
! .sp
! \fBS0C\fR: Current survivor space 0 capacity (kB)\&.
! .sp
! \fBS1C\fR: Current survivor space 1 capacity (kB)\&.
! .sp
! \fBS0U\fR: Survivor space 0 utilization (kB)\&.
! .sp
! \fBS1U\fR: Survivor space 1 utilization (kB)\&.
! .sp
! \fBTT\fR: Tenuring threshold\&.
! .sp
! \fBMTT\fR: Maximum tenuring threshold\&.
! .sp
! \fBDSS\fR: Desired survivor size (kB)\&.
! .sp
! \fBEC\fR: Current eden space capacity (kB)\&.
! .sp
! \fBEU\fR: Eden space utilization (kB)\&.
! .sp
! \fBYGC\fR: Number of young generation GC events\&.
! .sp
! \fBYGCT\fR: Young generation garbage collection time\&.
! .RE
! .PP
! \-gcnewcapacity \fIoption\fR
! .RS 4
! New generation space size statistics\&.
! .sp
! \fBNGCMN\fR: Minimum new generation capacity (kB)\&.
! .sp
! \fBNGCMX\fR: Maximum new generation capacity (kB)\&.
! .sp
! \fBNGC\fR: Current new generation capacity (kB)\&.
! .sp
! \fBS0CMX\fR: Maximum survivor space 0 capacity (kB)\&.
! .sp
! \fBS0C\fR: Current survivor space 0 capacity (kB)\&.
! .sp
! \fBS1CMX\fR: Maximum survivor space 1 capacity (kB)\&.
! .sp
! \fBS1C\fR: Current survivor space 1 capacity (kB)\&.
! .sp
! \fBECMX\fR: Maximum eden space capacity (kB)\&.
! .sp
! \fBEC\fR: Current eden space capacity (kB)\&.
! .sp
! \fBYGC\fR: Number of young generation GC events\&.
! .sp
! \fBFGC\fR: Number of full GC events\&.
! .RE
! .PP
! \-gcold \fIoption\fR
! .RS 4
! Old generation and metaspace behavior statistics\&.
! .sp
! \fBMC\fR: Metaspace capacity (kB)\&.
! .sp
! \fBMU\fR: Metaspace utilization (kB)\&.
! .sp
! \fBCCSC\fR: Compressed class space capacity (kB)\&.
! .sp
! \fBCCSU\fR: Compressed class space used (kB)\&.
! .sp
! \fBOC\fR: Current old space capacity (kB)\&.
! .sp
! \fBOU\fR: Old space utilization (kB)\&.
! .sp
! \fBYGC\fR: Number of young generation GC events\&.
! .sp
! \fBFGC\fR: Number of full GC events\&.
! .sp
! \fBFGCT\fR: Full garbage collection time\&.
! .sp
! \fBGCT\fR: Total garbage collection time\&.
! .RE
! .PP
! \-gcoldcapacity \fIoption\fR
! .RS 4
! Old generation size statistics\&.
! .sp
! \fBOGCMN\fR: Minimum old generation capacity (kB)\&.
! .sp
! \fBOGCMX\fR: Maximum old generation capacity (kB)\&.
! .sp
! \fBOGC\fR: Current old generation capacity (kB)\&.
! .sp
! \fBOC\fR: Current old space capacity (kB)\&.
! .sp
! \fBYGC\fR: Number of young generation GC events\&.
! .sp
! \fBFGC\fR: Number of full GC events\&.
! .sp
! \fBFGCT\fR: Full garbage collection time\&.
! .sp
! \fBGCT\fR: Total garbage collection time\&.
! .RE
! .PP
! \-gcmetacapacity \fIoption\fR
! .RS 4
! Metaspace size statistics\&.
! .sp
! \fBMCMN\fR: Minimum metaspace capacity (kB)\&.
! .sp
! \fBMCMX\fR: Maximum metaspace capacity (kB)\&.
! .sp
! \fBMC\fR: Metaspace capacity (kB)\&.
! .sp
! \fBCCSMN\fR: Compressed class space minimum capacity (kB)\&.
! .sp
! \fBCCSMX\fR: Compressed class space maximum capacity (kB)\&.
! .sp
! \fBYGC\fR: Number of young generation GC events\&.
! .sp
! \fBFGC\fR: Number of full GC events\&.
! .sp
! \fBFGCT\fR: Full garbage collection time\&.
! .sp
! \fBGCT\fR: Total garbage collection time\&.
! .RE
! .PP
! \-gcutil \fIoption\fR
! .RS 4
! Summary of garbage collection statistics\&.
! .sp
! \fBS0\fR: Survivor space 0 utilization as a percentage of the space\*(Aqs current capacity\&.
! .sp
! \fBS1\fR: Survivor space 1 utilization as a percentage of the space\*(Aqs current capacity\&.
! .sp
! \fBE\fR: Eden space utilization as a percentage of the space\*(Aqs current capacity\&.
! .sp
! \fBO\fR: Old space utilization as a percentage of the space\*(Aqs current capacity\&.
! .sp
! \fBM\fR: Metaspace utilization as a percentage of the space\*(Aqs current capacity\&.
! .sp
! \fBCCS\fR: Compressed class space utilization as a percentage\&.
! .sp
! \fBYGC\fR: Number of young generation GC events\&.
! .sp
! \fBYGCT\fR: Young generation garbage collection time\&.
! .sp
! \fBFGC\fR: Number of full GC events\&.
! .sp
! \fBFGCT\fR: Full garbage collection time\&.
! .sp
! \fBGCT\fR: Total garbage collection time\&.
! .RE
! .PP
! \-printcompilation \fIoption\fR
! .RS 4
! Java HotSpot VM compiler method statistics\&.
! .sp
! \fBCompiled\fR: Number of compilation tasks performed by the most recently compiled method\&.
! .sp
! \fBSize\fR: Number of bytes of byte code of the most recently compiled method\&.
! .sp
! \fBType\fR: Compilation type of the most recently compiled method\&.
! .sp
! \fBMethod\fR: Class name and method name identifying the most recently compiled method\&. Class name uses slash (/) instead of dot (\&.) as a name space separator\&. Method name is the method within the specified class\&. The format for these two fields is consistent with the HotSpot
! \fB\-XX:+PrintCompilation\fR
! option\&.
.RE
! .SH "EXAMPLES"
.PP
This section presents some examples of monitoring a local JVM with an
! \fIlvmid\fR
! of 21891\&.
! .SS "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 \-\fBgcutil\fR
! 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 is 91\&.03% utilized\&.
! .sp
! .if n \{\
! .RS 4
! .\}
.nf
! \fBjstat \-gcutil 21891 250 7\fR
! \fB S0 S1 E O M CCS YGC YGCT FGC FGCT GCT \fR
! \fB 0\&.00 97\&.02 70\&.31 66\&.80 95\&.52 89\&.14 7 0\&.300 0 0\&.000 0\&.300\fR
! \fB 0\&.00 97\&.02 86\&.23 66\&.80 95\&.52 89\&.14 7 0\&.300 0 0\&.000 0\&.300\fR
! \fB 0\&.00 97\&.02 96\&.53 66\&.80 95\&.52 89\&.14 7 0\&.300 0 0\&.000 0\&.300\fR
! \fB 91\&.03 0\&.00 1\&.98 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR
! \fB 91\&.03 0\&.00 15\&.82 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR
! \fB 91\&.03 0\&.00 17\&.80 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR
! \fB 91\&.03 0\&.00 17\&.80 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR
.fi
! .if n \{\
! .RE
! .\}
! .SS "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
! \fB\-gcnew\fR
! option\&. In addition, it uses the
! \fB\-h3\fR
! 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\&.
! .sp
! .if n \{\
! .RS 4
! .\}
.nf
! \fBjstat \-gcnew \-h3 21891 250\fR
! \fB S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT\fR
! \fB 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 178\&.6 249 0\&.203\fR
! \fB 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 355\&.5 249 0\&.203\fR
! \fB 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 21\&.9 250 0\&.204\fR
! \fB S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT\fR
! \fB 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 245\&.9 250 0\&.204\fR
! \fB 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 421\&.1 250 0\&.204\fR
! \fB 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 84\&.4 251 0\&.204\fR
! \fB S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT\fR
! \fB 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 306\&.7 251 0\&.204\fR
!
.fi
! .if n \{\
! .RE
! .\}
! .SS "Include a Time Stamp for Each Sample"
.PP
! This example attaches to lvmid 21891 and takes 3 samples at 250 millisecond intervals\&. The
! \fB\-t\fR
! 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
! \fB\-gcoldcapacity\fR
! 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\&.
! .sp
! .if n \{\
! .RS 4
! .\}
.nf
! \fBTimestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT\fR
! \fB 150\&.1 1408\&.0 60544\&.0 11696\&.0 11696\&.0 194 80 2\&.874 3\&.799\fR
! \fB 150\&.4 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863\fR
! \fB 150\&.7 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863\fR
!
.fi
! .if n \{\
! .RE
! .\}
! .SS "Monitor Instrumentation for a Remote JVM"
.PP
! This example attaches to lvmid 40496 on the system named remote\&.domain using the
! \fB\-gcutil\fR
! option, with samples taken every second indefinitely\&.
.PP
The lvmid is combined with the name of the remote host to construct a
! \fIvmid\fR
! of
! \fB40496@remote\&.domain\fR\&. This vmid results in the use of the
! \fBrmi\fR
! protocol to communicate to the default
! \fBjstatd\fR
! server on the remote host\&. The
! \fBjstatd\fR
! server is located using the
! \fBrmiregistry\fR
! command on
! \fBremote\&.domain\fR
! that is bound to the default port of the
! \fBrmiregistry\fR
! command (port 1099)\&.
! .sp
! .if n \{\
! .RS 4
! .\}
.nf
! \fBjstat \-gcutil 40496@remote\&.domain 1000\fR
! \fB\fI\&.\&.\&. output omitted\fR\fR
!
.fi
- .if n \{\
- .RE
- .\}
- .SH "SEE ALSO"
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- java(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- jps(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- jstatd(1)
- .RE
- .sp
- .RS 4
- .ie n \{\
- \h'-04'\(bu\h'+03'\c
- .\}
- .el \{\
- .sp -1
- .IP \(bu 2.3
- .\}
- rmiregistry(1)
- .RE
- .br
- 'pl 8.5i
- 'bp
--- 17,710 ----
.\"
.\" 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" "2018" "JDK 13" "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
< prev index next >