< 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 >