rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 1 | '\" t |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 2 | .\" Copyright (c) 2004, 2015, Oracle and/or its affiliates. All rights reserved. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 3 | .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| 4 | .\" |
| 5 | .\" This code is free software; you can redistribute it and/or modify it |
| 6 | .\" under the terms of the GNU General Public License version 2 only, as |
| 7 | .\" published by the Free Software Foundation. |
| 8 | .\" |
| 9 | .\" This code is distributed in the hope that it will be useful, but WITHOUT |
| 10 | .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
mfang | f2cf006 | 2015-07-15 12:12:46 -0700 | [diff] [blame] | 11 | .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 12 | .\" version 2 for more details (a copy is included in the LICENSE file that |
| 13 | .\" accompanied this code). |
| 14 | .\" |
| 15 | .\" You should have received a copy of the GNU General Public License version |
| 16 | .\" 2 along with this work; if not, write to the Free Software Foundation, |
| 17 | .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| 18 | .\" |
| 19 | .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| 20 | .\" or visit www.oracle.com if you need additional information or have any |
| 21 | .\" questions. |
| 22 | .\" |
| 23 | .\" Title: jstat |
| 24 | .\" Language: English |
| 25 | .\" Date: 03 March 2015 |
| 26 | .\" SectDesc: Monitoring Tools |
| 27 | .\" Software: JDK 8 |
| 28 | .\" Arch: generic |
| 29 | .\" Part Number: E38207-04 |
| 30 | .\" Doc ID: JSSON |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 31 | .\" |
| 32 | .if n .pl 99999 |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 33 | .TH "jstat" "1" "03 March 2015" "JDK 8" "Monitoring Tools" |
| 34 | .\" ----------------------------------------------------------------- |
| 35 | .\" * Define some portability stuff |
| 36 | .\" ----------------------------------------------------------------- |
| 37 | .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 38 | .\" http://bugs.debian.org/507673 |
| 39 | .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html |
| 40 | .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 41 | .ie \n(.g .ds Aq \(aq |
| 42 | .el .ds Aq ' |
| 43 | .\" ----------------------------------------------------------------- |
| 44 | .\" * set default formatting |
| 45 | .\" ----------------------------------------------------------------- |
| 46 | .\" disable hyphenation |
| 47 | .nh |
| 48 | .\" disable justification (adjust text to left margin only) |
| 49 | .ad l |
| 50 | .\" ----------------------------------------------------------------- |
| 51 | .\" * MAIN CONTENT STARTS HERE * |
| 52 | .\" ----------------------------------------------------------------- |
| 53 | .SH "NAME" |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 54 | jstat \- Monitors Java Virtual Machine (JVM) statistics\&. This command is experimental and unsupported\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 55 | .SH "SYNOPSIS" |
| 56 | .sp |
| 57 | .if n \{\ |
| 58 | .RS 4 |
| 59 | .\} |
| 60 | .nf |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 61 | \fBjstat\fR [ \fIgeneralOption\fR | \fIoutputOptions vmid\fR [ \fIinterval\fR[s|ms] [ \fIcount \fR] ] |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 62 | .fi |
| 63 | .if n \{\ |
| 64 | .RE |
| 65 | .\} |
| 66 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 67 | \fIgeneralOption\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 68 | .RS 4 |
| 69 | A single general command\-line option |
| 70 | \fB\-help\fR |
| 71 | or |
| 72 | \fB\-options\fR\&. See General Options\&. |
| 73 | .RE |
| 74 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 75 | \fIoutputOptions\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 76 | .RS 4 |
| 77 | One or more output options that consist of a single |
| 78 | \fBstatOption\fR, plus any of the |
| 79 | \fB\-t\fR, |
| 80 | \fB\-h\fR, and |
| 81 | \fB\-J\fR |
| 82 | options\&. See Output Options\&. |
| 83 | .RE |
| 84 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 85 | \fIvmid\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 86 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 87 | Virtual machine identifier, which is a string that indicates the target JVM\&. The general syntax is the following: |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 88 | .sp |
| 89 | .if n \{\ |
| 90 | .RS 4 |
| 91 | .\} |
| 92 | .nf |
| 93 | \fB[protocol:][//]lvmid[@hostname[:port]/servername]\fR |
| 94 | |
| 95 | .fi |
| 96 | .if n \{\ |
| 97 | .RE |
| 98 | .\} |
| 99 | The syntax of the |
| 100 | \fBvmid\fR |
| 101 | string corresponds to the syntax of a URI\&. The |
| 102 | \fBvmid\fR |
| 103 | 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\&. |
| 104 | .RE |
| 105 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 106 | \fIinterval\fR [s|ms] |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 107 | .RS 4 |
| 108 | Sampling interval in the specified units, seconds (s) or milliseconds (ms)\&. Default units are milliseconds\&. Must be a positive integer\&. When specified, the |
| 109 | \fBjstat\fR |
| 110 | command produces its output at each interval\&. |
| 111 | .RE |
| 112 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 113 | \fIcount\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 114 | .RS 4 |
| 115 | Number of samples to display\&. The default value is infinity which causes the |
| 116 | \fBjstat\fR |
| 117 | command to display statistics until the target JVM terminates or the |
| 118 | \fBjstat\fR |
| 119 | command is terminated\&. This value must be a positive integer\&. |
| 120 | .RE |
| 121 | .SH "DESCRIPTION" |
| 122 | .PP |
| 123 | The |
| 124 | \fBjstat\fR |
| 125 | command displays performance statistics for an instrumented Java HotSpot VM\&. The target JVM is identified by its virtual machine identifier, or |
| 126 | \fBvmid\fR |
| 127 | option\&. |
| 128 | .SH "VIRTUAL MACHINE IDENTIFIER" |
| 129 | .PP |
| 130 | The syntax of the |
| 131 | \fBvmid\fR |
| 132 | string corresponds to the syntax of a URI: |
| 133 | .sp |
| 134 | .if n \{\ |
| 135 | .RS 4 |
| 136 | .\} |
| 137 | .nf |
| 138 | \fB[protocol:][//]lvmid[@hostname[:port]/servername]\fR |
| 139 | |
| 140 | .fi |
| 141 | .if n \{\ |
| 142 | .RE |
| 143 | .\} |
| 144 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 145 | \fIprotocol\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 146 | .RS 4 |
| 147 | The communications protocol\&. If the |
| 148 | \fIprotocol\fR |
| 149 | value is omitted and a host name is not specified, then the default protocol is a platform\-specific optimized local protocol\&. If the |
| 150 | \fIprotocol\fR |
| 151 | value is omitted and a host name is specified, then the default protocol is |
| 152 | \fBrmi\fR\&. |
| 153 | .RE |
| 154 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 155 | \fIlvmid\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 156 | .RS 4 |
| 157 | The local virtual machine identifier for the target JVM\&. The |
| 158 | \fBlvmid\fR |
| 159 | is a platform\-specific value that uniquely identifies a JVM on a system\&. The |
| 160 | \fBlvmid\fR |
| 161 | is the only required component of a virtual machine identifier\&. The |
| 162 | \fBlvmid\fR |
| 163 | is typically, but not necessarily, the operating system\*(Aqs process identifier for the target JVM process\&. You can use the |
| 164 | \fBjps\fR |
| 165 | command to determine the |
| 166 | \fBlvmid\fR\&. Also, you can determine the |
| 167 | \fBlvmid\fR |
| 168 | on Solaris, Linux, and OS X platforms with the |
| 169 | \fBps\fR |
| 170 | command, and on Windows with the Windows Task Manager\&. |
| 171 | .RE |
| 172 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 173 | \fIhostname\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 174 | .RS 4 |
| 175 | A hostname or IP address that indicates the target host\&. If the |
| 176 | \fIhostname\fR |
| 177 | value is omitted, then the target host is the local host\&. |
| 178 | .RE |
| 179 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 180 | \fIport\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 181 | .RS 4 |
| 182 | The default port for communicating with the remote server\&. If the |
| 183 | \fIhostname\fR |
| 184 | value is omitted or the |
| 185 | \fIprotocol\fR |
| 186 | value specifies an optimized, local protocol, then the |
| 187 | \fIport\fR |
| 188 | value is ignored\&. Otherwise, treatment of the |
| 189 | \fBport\fR |
| 190 | parameter is implementation\-specific\&. For the default |
| 191 | \fBrmi\fR |
| 192 | protocol, the port value indicates the port number for the rmiregistry on the remote host\&. If the |
| 193 | \fIport\fR |
| 194 | value is omitted and the |
| 195 | \fIprotocol\fR |
| 196 | value indicates |
| 197 | \fBrmi\fR, then the default rmiregistry port (1099) is used\&. |
| 198 | .RE |
| 199 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 200 | \fIservername\fR |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 201 | .RS 4 |
| 202 | The treatment of the |
| 203 | \fBservername\fR |
| 204 | parameter depends on implementation\&. For the optimized local protocol, this field is ignored\&. For the |
| 205 | \fBrmi\fR |
| 206 | protocol, it represents the name of the RMI remote object on the remote host\&. |
| 207 | .RE |
| 208 | .SH "OPTIONS" |
| 209 | .PP |
| 210 | The |
| 211 | \fBjstat\fR |
| 212 | command supports two types of options, general options and output options\&. General options cause the |
| 213 | \fBjstat\fR |
| 214 | command to display simple usage and version information\&. Output options determine the content and format of the statistical output\&. |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 215 | .PP |
| 216 | All options and their functionality are subject to change or removal in future releases\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 217 | .SS "General Options" |
| 218 | .PP |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 219 | If you specify one of the general options, then you cannot specify any other option or parameter\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 220 | .PP |
| 221 | \-help |
| 222 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 223 | Displays a help message\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 224 | .RE |
| 225 | .PP |
| 226 | \-options |
| 227 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 228 | Displays a list of static options\&. See Output Options\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 229 | .RE |
| 230 | .SS "Output Options" |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 231 | .PP |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 232 | If you do not specify a general option, then you can specify output options\&. Output options determine the content and format of the |
| 233 | \fBjstat\fR |
| 234 | command\*(Aqs output, and consist of a single |
| 235 | \fBstatOption\fR, plus any of the other output options (\fB\-h\fR, |
| 236 | \fB\-t\fR, and |
| 237 | \fB\-J\fR)\&. The |
| 238 | \fBstatOption\fR |
| 239 | must come first\&. |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 240 | .PP |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 241 | Output is formatted as a table, with columns that are separated by spaces\&. A header row with titles describes the columns\&. Use the |
| 242 | \fB\-h\fR |
| 243 | 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\&. |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 244 | .PP |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 245 | Use the |
| 246 | \fB\-t\fR |
| 247 | 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\&. |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 248 | .PP |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 249 | Use the interval and count parameters to determine how frequently and how many times, respectively, the |
| 250 | \fBjstat\fR |
| 251 | command displays its output\&. |
| 252 | .PP |
| 253 | \fBNote:\fR |
| 254 | Do not to write scripts to parse the |
| 255 | \fBjstat\fR |
| 256 | command\*(Aqs output because the format might change in future releases\&. If you write scripts that parse |
| 257 | \fBjstat\fR |
| 258 | command output, then expect to modify them for future releases of this tool\&. |
| 259 | .PP |
| 260 | \-\fIstatOption\fR |
| 261 | .RS 4 |
| 262 | Determines the statistics information the |
| 263 | \fBjstat\fR |
| 264 | command displays\&. The following lists the available options\&. Use the |
| 265 | \fB\-options\fR |
| 266 | general option to display the list of options for a particular platform installation\&. See Stat Options and Output\&. |
| 267 | .sp |
| 268 | \fBclass\fR: Displays statistics about the behavior of the class loader\&. |
| 269 | .sp |
| 270 | \fBcompiler\fR: Displays statistics about the behavior of the Java HotSpot VM Just\-in\-Time compiler\&. |
| 271 | .sp |
| 272 | \fBgc\fR: Displays statistics about the behavior of the garbage collected heap\&. |
| 273 | .sp |
| 274 | \fBgccapacity\fR: Displays statistics about the capacities of the generations and their corresponding spaces\&. |
| 275 | .sp |
| 276 | \fBgccause\fR: Displays a summary about garbage collection statistics (same as |
| 277 | \fB\-gcutil\fR), with the cause of the last and current (when applicable) garbage collection events\&. |
| 278 | .sp |
| 279 | \fBgcnew\fR: Displays statistics of the behavior of the new generation\&. |
| 280 | .sp |
| 281 | \fBgcnewcapacity\fR: Displays statistics about the sizes of the new generations and its corresponding spaces\&. |
| 282 | .sp |
| 283 | \fBgcold\fR: Displays statistics about the behavior of the old generation and metaspace statistics\&. |
| 284 | .sp |
| 285 | \fBgcoldcapacity\fR: Displays statistics about the sizes of the old generation\&. |
| 286 | .sp |
| 287 | \fBgcmetacapacity\fR: Displays statistics about the sizes of the metaspace\&. |
| 288 | .sp |
| 289 | \fBgcutil\fR: Displays a summary about garbage collection statistics\&. |
| 290 | .sp |
| 291 | \fBprintcompilation\fR: Displays Java HotSpot VM compilation method statistics\&. |
| 292 | .RE |
| 293 | .PP |
| 294 | \-h \fIn\fR |
| 295 | .RS 4 |
| 296 | Displays a column header every |
| 297 | \fIn\fR |
| 298 | samples (output rows), where |
| 299 | \fIn\fR |
| 300 | is a positive integer\&. Default value is 0, which displays the column header the first row of data\&. |
| 301 | .RE |
| 302 | .PP |
| 303 | \-t |
| 304 | .RS 4 |
rgallard | 04b0ca4 | 2014-10-17 11:33:22 -0700 | [diff] [blame] | 305 | Displays a timestamp column as the first column of output\&. The time stamp is the time since the start time of the target JVM\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 306 | .RE |
| 307 | .PP |
| 308 | \-J\fIjavaOption\fR |
| 309 | .RS 4 |
| 310 | Passes |
| 311 | \fBjavaOption\fR |
| 312 | to the Java application launcher\&. For example, |
| 313 | \fB\-J\-Xms48m\fR |
| 314 | sets the startup memory to 48 MB\&. For a complete list of options, see |
| 315 | java(1)\&. |
| 316 | .RE |
| 317 | .SS "Stat Options and Output" |
| 318 | .PP |
| 319 | The following information summarizes the columns that the |
| 320 | \fBjstat\fR |
| 321 | command outputs for each |
| 322 | \fIstatOption\fR\&. |
| 323 | .PP |
| 324 | \-class \fIoption\fR |
| 325 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 326 | Class loader statistics\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 327 | .sp |
| 328 | \fBLoaded\fR: Number of classes loaded\&. |
| 329 | .sp |
| 330 | \fBBytes\fR: Number of kBs loaded\&. |
| 331 | .sp |
| 332 | \fBUnloaded\fR: Number of classes unloaded\&. |
| 333 | .sp |
| 334 | \fBBytes\fR: Number of Kbytes unloaded\&. |
| 335 | .sp |
| 336 | \fBTime\fR: Time spent performing class loading and unloading operations\&. |
| 337 | .RE |
| 338 | .PP |
| 339 | \-compiler \fIoption\fR |
| 340 | .RS 4 |
| 341 | Java HotSpot VM Just\-in\-Time compiler statistics\&. |
| 342 | .sp |
| 343 | \fBCompiled\fR: Number of compilation tasks performed\&. |
| 344 | .sp |
| 345 | \fBFailed\fR: Number of compilations tasks failed\&. |
| 346 | .sp |
| 347 | \fBInvalid\fR: Number of compilation tasks that were invalidated\&. |
| 348 | .sp |
| 349 | \fBTime\fR: Time spent performing compilation tasks\&. |
| 350 | .sp |
| 351 | \fBFailedType\fR: Compile type of the last failed compilation\&. |
| 352 | .sp |
| 353 | \fBFailedMethod\fR: Class name and method of the last failed compilation\&. |
| 354 | .RE |
| 355 | .PP |
| 356 | \-gc \fIoption\fR |
| 357 | .RS 4 |
| 358 | Garbage\-collected heap statistics\&. |
| 359 | .sp |
| 360 | \fBS0C\fR: Current survivor space 0 capacity (kB)\&. |
| 361 | .sp |
| 362 | \fBS1C\fR: Current survivor space 1 capacity (kB)\&. |
| 363 | .sp |
| 364 | \fBS0U\fR: Survivor space 0 utilization (kB)\&. |
| 365 | .sp |
| 366 | \fBS1U\fR: Survivor space 1 utilization (kB)\&. |
| 367 | .sp |
| 368 | \fBEC\fR: Current eden space capacity (kB)\&. |
| 369 | .sp |
| 370 | \fBEU\fR: Eden space utilization (kB)\&. |
| 371 | .sp |
| 372 | \fBOC\fR: Current old space capacity (kB)\&. |
| 373 | .sp |
| 374 | \fBOU\fR: Old space utilization (kB)\&. |
| 375 | .sp |
| 376 | \fBMC\fR: Metaspace capacity (kB)\&. |
| 377 | .sp |
| 378 | \fBMU\fR: Metacspace utilization (kB)\&. |
| 379 | .sp |
| 380 | \fBCCSC\fR: Compressed class space capacity (kB)\&. |
| 381 | .sp |
| 382 | \fBCCSU\fR: Compressed class space used (kB)\&. |
| 383 | .sp |
| 384 | \fBYGC\fR: Number of young generation garbage collection events\&. |
| 385 | .sp |
| 386 | \fBYGCT\fR: Young generation garbage collection time\&. |
| 387 | .sp |
| 388 | \fBFGC\fR: Number of full GC events\&. |
| 389 | .sp |
| 390 | \fBFGCT\fR: Full garbage collection time\&. |
| 391 | .sp |
| 392 | \fBGCT\fR: Total garbage collection time\&. |
| 393 | .RE |
| 394 | .PP |
| 395 | \-gccapacity \fIoption\fR |
| 396 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 397 | Memory pool generation and space capacities\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 398 | .sp |
| 399 | \fBNGCMN\fR: Minimum new generation capacity (kB)\&. |
| 400 | .sp |
| 401 | \fBNGCMX\fR: Maximum new generation capacity (kB)\&. |
| 402 | .sp |
| 403 | \fBNGC\fR: Current new generation capacity (kB)\&. |
| 404 | .sp |
| 405 | \fBS0C\fR: Current survivor space 0 capacity (kB)\&. |
| 406 | .sp |
| 407 | \fBS1C\fR: Current survivor space 1 capacity (kB)\&. |
| 408 | .sp |
| 409 | \fBEC\fR: Current eden space capacity (kB)\&. |
| 410 | .sp |
| 411 | \fBOGCMN\fR: Minimum old generation capacity (kB)\&. |
| 412 | .sp |
| 413 | \fBOGCMX\fR: Maximum old generation capacity (kB)\&. |
| 414 | .sp |
| 415 | \fBOGC\fR: Current old generation capacity (kB)\&. |
| 416 | .sp |
| 417 | \fBOC\fR: Current old space capacity (kB)\&. |
| 418 | .sp |
| 419 | \fBMCMN\fR: Minimum metaspace capacity (kB)\&. |
| 420 | .sp |
| 421 | \fBMCMX\fR: Maximum metaspace capacity (kB)\&. |
| 422 | .sp |
| 423 | \fBMC\fR: Metaspace capacity (kB)\&. |
| 424 | .sp |
| 425 | \fBCCSMN\fR: Compressed class space minimum capacity (kB)\&. |
| 426 | .sp |
| 427 | \fBCCSMX\fR: Compressed class space maximum capacity (kB)\&. |
| 428 | .sp |
| 429 | \fBCCSC\fR: Compressed class space capacity (kB)\&. |
| 430 | .sp |
| 431 | \fBYGC\fR: Number of young generation GC events\&. |
| 432 | .sp |
| 433 | \fBFGC\fR: Number of full GC events\&. |
| 434 | .RE |
| 435 | .PP |
| 436 | \-gccause \fIoption\fR |
| 437 | .RS 4 |
| 438 | This option displays the same summary of garbage collection statistics as the |
| 439 | \fB\-gcutil\fR |
| 440 | 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 |
| 441 | \fB\-gcutil\fR, this option adds the following columns\&. |
| 442 | .sp |
| 443 | \fBLGCC\fR: Cause of last garbage collection |
| 444 | .sp |
| 445 | \fBGCC\fR: Cause of current garbage collection |
| 446 | .RE |
| 447 | .PP |
| 448 | \-gcnew \fIoption\fR |
| 449 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 450 | New generation statistics\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 451 | .sp |
| 452 | \fBS0C\fR: Current survivor space 0 capacity (kB)\&. |
| 453 | .sp |
| 454 | \fBS1C\fR: Current survivor space 1 capacity (kB)\&. |
| 455 | .sp |
| 456 | \fBS0U\fR: Survivor space 0 utilization (kB)\&. |
| 457 | .sp |
| 458 | \fBS1U\fR: Survivor space 1 utilization (kB)\&. |
| 459 | .sp |
| 460 | \fBTT\fR: Tenuring threshold\&. |
| 461 | .sp |
| 462 | \fBMTT\fR: Maximum tenuring threshold\&. |
| 463 | .sp |
| 464 | \fBDSS\fR: Desired survivor size (kB)\&. |
| 465 | .sp |
| 466 | \fBEC\fR: Current eden space capacity (kB)\&. |
| 467 | .sp |
| 468 | \fBEU\fR: Eden space utilization (kB)\&. |
| 469 | .sp |
| 470 | \fBYGC\fR: Number of young generation GC events\&. |
| 471 | .sp |
| 472 | \fBYGCT\fR: Young generation garbage collection time\&. |
| 473 | .RE |
| 474 | .PP |
| 475 | \-gcnewcapacity \fIoption\fR |
| 476 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 477 | New generation space size statistics\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 478 | .sp |
| 479 | \fBNGCMN\fR: Minimum new generation capacity (kB)\&. |
| 480 | .sp |
| 481 | \fBNGCMX\fR: Maximum new generation capacity (kB)\&. |
| 482 | .sp |
| 483 | \fBNGC\fR: Current new generation capacity (kB)\&. |
| 484 | .sp |
| 485 | \fBS0CMX\fR: Maximum survivor space 0 capacity (kB)\&. |
| 486 | .sp |
| 487 | \fBS0C\fR: Current survivor space 0 capacity (kB)\&. |
| 488 | .sp |
| 489 | \fBS1CMX\fR: Maximum survivor space 1 capacity (kB)\&. |
| 490 | .sp |
| 491 | \fBS1C\fR: Current survivor space 1 capacity (kB)\&. |
| 492 | .sp |
| 493 | \fBECMX\fR: Maximum eden space capacity (kB)\&. |
| 494 | .sp |
| 495 | \fBEC\fR: Current eden space capacity (kB)\&. |
| 496 | .sp |
| 497 | \fBYGC\fR: Number of young generation GC events\&. |
| 498 | .sp |
| 499 | \fBFGC\fR: Number of full GC events\&. |
| 500 | .RE |
| 501 | .PP |
| 502 | \-gcold \fIoption\fR |
| 503 | .RS 4 |
| 504 | Old generation and metaspace behavior statistics\&. |
| 505 | .sp |
| 506 | \fBMC\fR: Metaspace capacity (kB)\&. |
| 507 | .sp |
| 508 | \fBMU\fR: Metaspace utilization (kB)\&. |
| 509 | .sp |
| 510 | \fBCCSC\fR: Compressed class space capacity (kB)\&. |
| 511 | .sp |
| 512 | \fBCCSU\fR: Compressed class space used (kB)\&. |
| 513 | .sp |
| 514 | \fBOC\fR: Current old space capacity (kB)\&. |
| 515 | .sp |
| 516 | \fBOU\fR: Old space utilization (kB)\&. |
| 517 | .sp |
| 518 | \fBYGC\fR: Number of young generation GC events\&. |
| 519 | .sp |
| 520 | \fBFGC\fR: Number of full GC events\&. |
| 521 | .sp |
| 522 | \fBFGCT\fR: Full garbage collection time\&. |
| 523 | .sp |
| 524 | \fBGCT\fR: Total garbage collection time\&. |
| 525 | .RE |
| 526 | .PP |
| 527 | \-gcoldcapacity \fIoption\fR |
| 528 | .RS 4 |
| 529 | Old generation size statistics\&. |
| 530 | .sp |
| 531 | \fBOGCMN\fR: Minimum old generation capacity (kB)\&. |
| 532 | .sp |
| 533 | \fBOGCMX\fR: Maximum old generation capacity (kB)\&. |
| 534 | .sp |
| 535 | \fBOGC\fR: Current old generation capacity (kB)\&. |
| 536 | .sp |
| 537 | \fBOC\fR: Current old space capacity (kB)\&. |
| 538 | .sp |
| 539 | \fBYGC\fR: Number of young generation GC events\&. |
| 540 | .sp |
| 541 | \fBFGC\fR: Number of full GC events\&. |
| 542 | .sp |
| 543 | \fBFGCT\fR: Full garbage collection time\&. |
| 544 | .sp |
| 545 | \fBGCT\fR: Total garbage collection time\&. |
| 546 | .RE |
| 547 | .PP |
| 548 | \-gcmetacapacity \fIoption\fR |
| 549 | .RS 4 |
| 550 | Metaspace size statistics\&. |
| 551 | .sp |
| 552 | \fBMCMN\fR: Minimum metaspace capacity (kB)\&. |
| 553 | .sp |
| 554 | \fBMCMX\fR: Maximum metaspace capacity (kB)\&. |
| 555 | .sp |
| 556 | \fBMC\fR: Metaspace capacity (kB)\&. |
| 557 | .sp |
| 558 | \fBCCSMN\fR: Compressed class space minimum capacity (kB)\&. |
| 559 | .sp |
| 560 | \fBCCSMX\fR: Compressed class space maximum capacity (kB)\&. |
| 561 | .sp |
| 562 | \fBYGC\fR: Number of young generation GC events\&. |
| 563 | .sp |
| 564 | \fBFGC\fR: Number of full GC events\&. |
| 565 | .sp |
| 566 | \fBFGCT\fR: Full garbage collection time\&. |
| 567 | .sp |
| 568 | \fBGCT\fR: Total garbage collection time\&. |
| 569 | .RE |
| 570 | .PP |
| 571 | \-gcutil \fIoption\fR |
| 572 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 573 | Summary of garbage collection statistics\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 574 | .sp |
| 575 | \fBS0\fR: Survivor space 0 utilization as a percentage of the space\*(Aqs current capacity\&. |
| 576 | .sp |
| 577 | \fBS1\fR: Survivor space 1 utilization as a percentage of the space\*(Aqs current capacity\&. |
| 578 | .sp |
| 579 | \fBE\fR: Eden space utilization as a percentage of the space\*(Aqs current capacity\&. |
| 580 | .sp |
| 581 | \fBO\fR: Old space utilization as a percentage of the space\*(Aqs current capacity\&. |
| 582 | .sp |
| 583 | \fBM\fR: Metaspace utilization as a percentage of the space\*(Aqs current capacity\&. |
| 584 | .sp |
| 585 | \fBCCS\fR: Compressed class space utilization as a percentage\&. |
| 586 | .sp |
| 587 | \fBYGC\fR: Number of young generation GC events\&. |
| 588 | .sp |
| 589 | \fBYGCT\fR: Young generation garbage collection time\&. |
| 590 | .sp |
| 591 | \fBFGC\fR: Number of full GC events\&. |
| 592 | .sp |
| 593 | \fBFGCT\fR: Full garbage collection time\&. |
| 594 | .sp |
| 595 | \fBGCT\fR: Total garbage collection time\&. |
| 596 | .RE |
| 597 | .PP |
| 598 | \-printcompilation \fIoption\fR |
| 599 | .RS 4 |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 600 | Java HotSpot VM compiler method statistics\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 601 | .sp |
| 602 | \fBCompiled\fR: Number of compilation tasks performed by the most recently compiled method\&. |
| 603 | .sp |
| 604 | \fBSize\fR: Number of bytes of byte code of the most recently compiled method\&. |
| 605 | .sp |
| 606 | \fBType\fR: Compilation type of the most recently compiled method\&. |
| 607 | .sp |
| 608 | \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 |
| 609 | \fB\-XX:+PrintCompilation\fR |
| 610 | option\&. |
| 611 | .RE |
| 612 | .SH "EXAMPLES" |
| 613 | .PP |
| 614 | This section presents some examples of monitoring a local JVM with an |
| 615 | \fIlvmid\fR |
| 616 | of 21891\&. |
| 617 | .SS "The gcutil Option" |
| 618 | .PP |
| 619 | This example attaches to lvmid 21891 and takes 7 samples at 250 millisecond intervals and displays the output as specified by the \-\fBgcutil\fR |
| 620 | option\&. |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 621 | .PP |
rgallard | 04b0ca4 | 2014-10-17 11:33:22 -0700 | [diff] [blame] | 622 | 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\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 623 | .sp |
| 624 | .if n \{\ |
| 625 | .RS 4 |
| 626 | .\} |
| 627 | .nf |
| 628 | \fBjstat \-gcutil 21891 250 7\fR |
| 629 | \fB S0 S1 E O M CCS YGC YGCT FGC FGCT GCT \fR |
| 630 | \fB 0\&.00 97\&.02 70\&.31 66\&.80 95\&.52 89\&.14 7 0\&.300 0 0\&.000 0\&.300\fR |
| 631 | \fB 0\&.00 97\&.02 86\&.23 66\&.80 95\&.52 89\&.14 7 0\&.300 0 0\&.000 0\&.300\fR |
| 632 | \fB 0\&.00 97\&.02 96\&.53 66\&.80 95\&.52 89\&.14 7 0\&.300 0 0\&.000 0\&.300\fR |
| 633 | \fB 91\&.03 0\&.00 1\&.98 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR |
| 634 | \fB 91\&.03 0\&.00 15\&.82 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR |
| 635 | \fB 91\&.03 0\&.00 17\&.80 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR |
| 636 | \fB 91\&.03 0\&.00 17\&.80 68\&.19 95\&.89 91\&.24 8 0\&.378 0 0\&.000 0\&.378\fR |
| 637 | .fi |
| 638 | .if n \{\ |
| 639 | .RE |
| 640 | .\} |
| 641 | .SS "Repeat the Column Header String" |
| 642 | .PP |
| 643 | This example attaches to lvmid 21891 and takes samples at 250 millisecond intervals and displays the output as specified by |
| 644 | \fB\-gcnew\fR |
| 645 | option\&. In addition, it uses the |
| 646 | \fB\-h3\fR |
| 647 | option to output the column header after every 3 lines of data\&. |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 648 | .PP |
| 649 | 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\&. |
| 650 | .PP |
| 651 | Another collection occurs between the fifth and sixth samples\&. This collection found very few survivors and returned the tenuring threshold to 31\&. |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 652 | .sp |
| 653 | .if n \{\ |
| 654 | .RS 4 |
| 655 | .\} |
| 656 | .nf |
| 657 | \fBjstat \-gcnew \-h3 21891 250\fR |
| 658 | \fB S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT\fR |
| 659 | \fB 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 178\&.6 249 0\&.203\fR |
| 660 | \fB 64\&.0 64\&.0 0\&.0 31\&.7 31 31 32\&.0 512\&.0 355\&.5 249 0\&.203\fR |
| 661 | \fB 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 21\&.9 250 0\&.204\fR |
| 662 | \fB S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT\fR |
| 663 | \fB 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 245\&.9 250 0\&.204\fR |
| 664 | \fB 64\&.0 64\&.0 35\&.4 0\&.0 2 31 32\&.0 512\&.0 421\&.1 250 0\&.204\fR |
| 665 | \fB 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 84\&.4 251 0\&.204\fR |
| 666 | \fB S0C S1C S0U S1U TT MTT DSS EC EU YGC YGCT\fR |
| 667 | \fB 64\&.0 64\&.0 0\&.0 19\&.0 31 31 32\&.0 512\&.0 306\&.7 251 0\&.204\fR |
| 668 | |
| 669 | .fi |
| 670 | .if n \{\ |
| 671 | .RE |
| 672 | .\} |
| 673 | .SS "Include a Time Stamp for Each Sample" |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 674 | .PP |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 675 | This example attaches to lvmid 21891 and takes 3 samples at 250 millisecond intervals\&. The |
| 676 | \fB\-t\fR |
| 677 | option is used to generate a time stamp for each sample in the first column\&. |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 678 | .PP |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 679 | The Timestamp column reports the elapsed time in seconds since the start of the target JVM\&. In addition, the |
| 680 | \fB\-gcoldcapacity\fR |
| 681 | 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\&. |
| 682 | .sp |
| 683 | .if n \{\ |
| 684 | .RS 4 |
| 685 | .\} |
| 686 | .nf |
| 687 | \fBTimestamp OGCMN OGCMX OGC OC YGC FGC FGCT GCT\fR |
| 688 | \fB 150\&.1 1408\&.0 60544\&.0 11696\&.0 11696\&.0 194 80 2\&.874 3\&.799\fR |
| 689 | \fB 150\&.4 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863\fR |
| 690 | \fB 150\&.7 1408\&.0 60544\&.0 13820\&.0 13820\&.0 194 81 2\&.938 3\&.863\fR |
| 691 | |
| 692 | .fi |
| 693 | .if n \{\ |
| 694 | .RE |
| 695 | .\} |
| 696 | .SS "Monitor Instrumentation for a Remote JVM" |
| 697 | .PP |
| 698 | This example attaches to lvmid 40496 on the system named remote\&.domain using the |
| 699 | \fB\-gcutil\fR |
| 700 | option, with samples taken every second indefinitely\&. |
| 701 | .PP |
| 702 | The lvmid is combined with the name of the remote host to construct a |
| 703 | \fIvmid\fR |
| 704 | of |
| 705 | \fB40496@remote\&.domain\fR\&. This vmid results in the use of the |
| 706 | \fBrmi\fR |
| 707 | protocol to communicate to the default |
| 708 | \fBjstatd\fR |
| 709 | server on the remote host\&. The |
| 710 | \fBjstatd\fR |
| 711 | server is located using the |
| 712 | \fBrmiregistry\fR |
| 713 | command on |
| 714 | \fBremote\&.domain\fR |
| 715 | that is bound to the default port of the |
| 716 | \fBrmiregistry\fR |
| 717 | command (port 1099)\&. |
| 718 | .sp |
| 719 | .if n \{\ |
| 720 | .RS 4 |
| 721 | .\} |
| 722 | .nf |
| 723 | \fBjstat \-gcutil 40496@remote\&.domain 1000\fR |
| 724 | \fB\fI\&.\&.\&. output omitted\fR\fR |
| 725 | |
| 726 | .fi |
| 727 | .if n \{\ |
| 728 | .RE |
| 729 | .\} |
| 730 | .SH "SEE ALSO" |
| 731 | .sp |
| 732 | .RS 4 |
| 733 | .ie n \{\ |
| 734 | \h'-04'\(bu\h'+03'\c |
| 735 | .\} |
| 736 | .el \{\ |
| 737 | .sp -1 |
| 738 | .IP \(bu 2.3 |
| 739 | .\} |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 740 | java(1) |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 741 | .RE |
| 742 | .sp |
| 743 | .RS 4 |
| 744 | .ie n \{\ |
| 745 | \h'-04'\(bu\h'+03'\c |
| 746 | .\} |
| 747 | .el \{\ |
| 748 | .sp -1 |
| 749 | .IP \(bu 2.3 |
| 750 | .\} |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 751 | jps(1) |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 752 | .RE |
| 753 | .sp |
| 754 | .RS 4 |
| 755 | .ie n \{\ |
| 756 | \h'-04'\(bu\h'+03'\c |
| 757 | .\} |
| 758 | .el \{\ |
| 759 | .sp -1 |
| 760 | .IP \(bu 2.3 |
| 761 | .\} |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 762 | jstatd(1) |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 763 | .RE |
| 764 | .sp |
| 765 | .RS 4 |
| 766 | .ie n \{\ |
| 767 | \h'-04'\(bu\h'+03'\c |
| 768 | .\} |
| 769 | .el \{\ |
| 770 | .sp -1 |
| 771 | .IP \(bu 2.3 |
| 772 | .\} |
rgallard | b643545 | 2013-11-25 20:19:02 -0800 | [diff] [blame] | 773 | rmiregistry(1) |
rgallard | f71f251 | 2015-02-02 10:12:21 -0800 | [diff] [blame] | 774 | .RE |
| 775 | .br |
| 776 | 'pl 8.5i |
| 777 | 'bp |