1 .\" Copyright (c) 2012, 2024, Oracle and/or its affiliates. All rights reserved. 2 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 .\" 4 .\" This code is free software; you can redistribute it and/or modify it 5 .\" under the terms of the GNU General Public License version 2 only, as 6 .\" published by the Free Software Foundation. 7 .\" 8 .\" This code is distributed in the hope that it will be useful, but WITHOUT 9 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 10 .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 11 .\" version 2 for more details (a copy is included in the LICENSE file that 12 .\" accompanied this code). 13 .\" 14 .\" You should have received a copy of the GNU General Public License version 15 .\" 2 along with this work; if not, write to the Free Software Foundation, 16 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 17 .\" 18 .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 19 .\" or visit www.oracle.com if you need additional information or have any 20 .\" questions. 21 .\" 22 .\" Automatically generated by Pandoc 2.19.2 23 .\" 24 .\" Define V font for inline verbatim, using C font in formats 25 .\" that render this, and otherwise B font. 26 .ie "\f[CB]x\f[R]"x" \{\ 27 . ftr V B 28 . ftr VI BI 29 . ftr VB B 30 . ftr VBI BI 31 .\} 32 .el \{\ 33 . ftr V CR 34 . ftr VI CI 35 . ftr VB CB 36 . ftr VBI CBI 37 .\} 38 .TH "JCMD" "1" "2025" "JDK 24-ea" "JDK Commands" 39 .hy 40 .SH NAME 41 .PP 42 jcmd - send diagnostic command requests to a running Java Virtual 43 Machine (JVM) 44 .SH SYNOPSIS 45 .PP 46 \f[V]jcmd\f[R] [\f[I]pid\f[R] | \f[I]main-class\f[R]] 47 \f[I]command\f[R]... 48 | \f[V]PerfCounter.print\f[R] | \f[V]-f\f[R] \f[I]filename\f[R] 49 .PP 50 \f[V]jcmd\f[R] [\f[V]-l\f[R]] 51 .PP 52 \f[V]jcmd\f[R] \f[V]-h\f[R] 53 .TP 54 \f[I]pid\f[R] 55 When used, the \f[V]jcmd\f[R] utility sends the diagnostic command 56 request to the process ID for the Java process. 57 .TP 58 \f[I]main-class\f[R] 59 When used, the \f[V]jcmd\f[R] utility sends the diagnostic command 60 request to all Java processes with the specified name of the main class. 61 .TP 62 \f[I]command\f[R] 63 The \f[V]command\f[R] must be a valid \f[V]jcmd\f[R] command for the 64 selected JVM. 65 The list of available commands for \f[V]jcmd\f[R] is obtained by running 66 the \f[V]help\f[R] command (\f[V]jcmd\f[R] \f[I]pid\f[R] \f[V]help\f[R]) 67 where \f[I]pid\f[R] is the process ID for the running Java process. 68 If the \f[I]pid\f[R] is \f[V]0\f[R], commands will be sent to all Java 69 processes. 70 The main class argument will be used to match, either partially or 71 fully, the class used to start Java. 72 If no options are given, it lists the running Java process identifiers 73 with the main class and command-line arguments that were used to launch 74 the process (the same as using \f[V]-l\f[R]). 75 .TP 76 \f[V]Perfcounter.print\f[R] 77 Prints the performance counters exposed by the specified Java process. 78 .TP 79 \f[V]-f\f[R] \f[I]filename\f[R] 80 Reads and executes commands from a specified file, \f[I]filename\f[R]. 81 .TP 82 \f[V]-l\f[R] 83 Displays the list of Java Virtual Machine process identifiers that are 84 not running in a separate docker process along with the main class and 85 command-line arguments that were used to launch the process. 86 If the JVM is in a docker process, you must use tools such as 87 \f[V]ps\f[R] to look up the PID. 88 .RS 89 .PP 90 \f[B]Note:\f[R] 91 .PP 92 Using \f[V]jcmd\f[R] without arguments is the same as using 93 \f[V]jcmd -l\f[R]. 94 .RE 95 .TP 96 \f[V]-h\f[R] 97 Displays the \f[V]jcmd\f[R] utility\[aq]s command-line help. 98 .SH DESCRIPTION 99 .PP 100 The \f[V]jcmd\f[R] utility is used to send diagnostic command requests 101 to the JVM. 102 It must be used on the same machine on which the JVM is running, and 103 have the same effective user and group identifiers that were used to 104 launch the JVM. 105 Each diagnostic command has its own set of arguments. 106 To display the description, syntax, and a list of available arguments 107 for a diagnostic command, use the name of the command as the argument. 108 For example: 109 .RS 110 .PP 111 \f[V]jcmd\f[R] \f[I]pid\f[R] \f[V]help\f[R] \f[I]command\f[R] 112 .RE 113 .PP 114 If arguments contain spaces, then you must surround them with single or 115 double quotation marks (\f[V]\[aq]\f[R] or \f[V]\[dq]\f[R]). 116 In addition, you must escape single or double quotation marks with a 117 backslash (\f[V]\[rs]\f[R]) to prevent the operating system shell from 118 processing quotation marks. 119 Alternatively, you can surround these arguments with single quotation 120 marks and then with double quotation marks (or with double quotation 121 marks and then with single quotation marks). 122 .PP 123 If you specify the process identifier (\f[I]pid\f[R]) or the main class 124 (\f[I]main-class\f[R]) as the first argument, then the \f[V]jcmd\f[R] 125 utility sends the diagnostic command request to the Java process with 126 the specified identifier or to all Java processes with the specified 127 name of the main class. 128 You can also send the diagnostic command request to all available Java 129 processes by specifying \f[V]0\f[R] as the process identifier. 130 .SH COMMANDS FOR JCMD 131 .PP 132 The \f[I]command\f[R] must be a valid \f[V]jcmd\f[R] diagnostic command 133 for the selected JVM. 134 The list of available commands for \f[V]jcmd\f[R] is obtained by running 135 the \f[V]help\f[R] command (\f[V]jcmd\f[R] \f[I]pid\f[R] \f[V]help\f[R]) 136 where \f[I]pid\f[R] is the process ID for a running Java process. 137 If the \f[I]pid\f[R] is \f[V]0\f[R], commands will be sent to all Java 138 processes. 139 The main class argument will be used to match, either partially or 140 fully, the class used to start Java. 141 If no options are given, it lists the running Java process identifiers 142 that are not in separate docker processes along with the main class and 143 command-line arguments that were used to launch the process (the same as 144 using \f[V]-l\f[R]). 145 .PP 146 The following commands are available: 147 .TP 148 \f[V]help\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 149 For more information about a specific command. 150 .RS 151 .PP 152 \f[I]arguments\f[R]: 153 .IP \[bu] 2 154 \f[I]command name\f[R]: The name of the command for which we want help 155 (STRING, no default value) 156 .PP 157 \f[B]Note:\f[R] 158 .PP 159 The following \f[I]options\f[R] must be specified using either 160 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 161 .PP 162 \f[I]options\f[R]: 163 .IP \[bu] 2 164 \f[V]-all\f[R]: (Optional) Show help for all commands (BOOLEAN, false) . 165 .RE 166 .TP 167 \f[V]Compiler.CodeHeap_Analytics\f[R] [\f[I]function\f[R]] [\f[I]granularity\f[R]] 168 Print CodeHeap analytics 169 .RS 170 .PP 171 Impact: Low: Depends on code heap size and content. 172 Holds CodeCache_lock during analysis step, usually sub-second duration. 173 .PP 174 \f[I]arguments\f[R]: 175 .IP \[bu] 2 176 \f[I]function\f[R]: (Optional) Function to be performed (aggregate, 177 UsedSpace, FreeSpace, MethodCount, MethodSpace, MethodAge, MethodNames, 178 discard (STRING, all) 179 .IP \[bu] 2 180 \f[I]granularity\f[R]: (Optional) Detail level - smaller value -> more 181 detail (INT, 4096) 182 .RE 183 .TP 184 \f[V]Compiler.codecache\f[R] 185 Prints code cache layout and bounds. 186 .RS 187 .PP 188 Impact: Low 189 .RE 190 .TP 191 \f[V]Compiler.codelist\f[R] 192 Prints all compiled methods in code cache that are alive. 193 .RS 194 .PP 195 Impact: Medium 196 .RE 197 .TP 198 \f[V]Compiler.directives_add\f[R] \f[I]arguments\f[R] 199 Adds compiler directives from a file. 200 .RS 201 .PP 202 Impact: Low 203 .PP 204 \f[I]arguments\f[R]: 205 .IP \[bu] 2 206 \f[I]filename\f[R]: The name of the directives file (STRING, no default 207 value) 208 .RE 209 .TP 210 \f[V]Compiler.directives_clear\f[R] 211 Remove all compiler directives. 212 .RS 213 .PP 214 Impact: Low 215 .RE 216 .TP 217 \f[V]Compiler.directives_print\f[R] 218 Prints all active compiler directives. 219 .RS 220 .PP 221 Impact: Low 222 .RE 223 .TP 224 \f[V]Compiler.directives_remove\f[R] 225 Remove latest added compiler directive. 226 .RS 227 .PP 228 Impact: Low 229 .RE 230 .TP 231 \f[V]Compiler.memory\f[R] [\f[I]options\f[R]] 232 Print compilation footprint 233 .RS 234 .PP 235 Impact: Medium: Pause time depends on number of compiled methods 236 .PP 237 \f[B]Note:\f[R] 238 .PP 239 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 240 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 241 .PP 242 \f[I]options\f[R]: 243 .IP \[bu] 2 244 \f[V]-H\f[R]: (Optional) Human readable format (BOOLEAN, false) 245 .IP \[bu] 2 246 \f[V]-s\f[R]: (Optional) Minimum memory size (MEMORY SIZE, 0) 247 .RE 248 .TP 249 \f[V]Compiler.perfmap\f[R] [\f[I]arguments\f[R]] (Linux only) 250 Write map file for Linux perf tool. 251 .RS 252 .PP 253 Impact: Low 254 .PP 255 \f[I]arguments\f[R]: 256 .IP \[bu] 2 257 \f[I]filename\f[R]: (Optional) The name of the map file (STRING, 258 /tmp/perf-<pid>.map) 259 .PP 260 If \f[V]filename\f[R] is not specified, a default file name is chosen 261 using the pid of the target JVM process. 262 For example, if the pid is \f[V]12345\f[R], then the default 263 \f[V]filename\f[R] will be \f[V]/tmp/perf-12345.map\f[R]. 264 .RE 265 .TP 266 \f[V]Compiler.queue\f[R] 267 Prints methods queued for compilation. 268 .RS 269 .PP 270 Impact: Low 271 .RE 272 .TP 273 \f[V]GC.class_histogram\f[R] [\f[I]options\f[R]] 274 Provides statistics about the Java heap usage. 275 .RS 276 .PP 277 Impact: High --- depends on Java heap size and content. 278 .PP 279 \f[B]Note:\f[R] 280 .PP 281 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 282 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 283 .PP 284 \f[I]options\f[R]: 285 .IP \[bu] 2 286 \f[V]-all\f[R]: (Optional) Inspects all objects, including unreachable 287 objects (BOOLEAN, false) 288 .IP \[bu] 2 289 \f[V]-parallel\f[R]: (Optional) Number of parallel threads to use for 290 heap inspection. 291 0 (the default) means let the VM determine the number of threads to use. 292 1 means use one thread (disable parallelism). 293 For any other value the VM will try to use the specified number of 294 threads, but might use fewer. 295 (INT, 0) 296 .RE 297 .TP 298 \f[V]GC.finalizer_info\f[R] 299 Provides information about the Java finalization queue. 300 .RS 301 .PP 302 Impact: Medium 303 .RE 304 .TP 305 \f[V]GC.heap_dump\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 306 Generates a HPROF format dump of the Java heap. 307 .RS 308 .PP 309 Impact: High --- depends on the Java heap size and content. 310 Request a full GC unless the \f[V]-all\f[R] option is specified. 311 .PP 312 \f[B]Note:\f[R] 313 .PP 314 The following \f[I]options\f[R] must be specified using either 315 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 316 .PP 317 \f[I]options\f[R]: 318 .IP \[bu] 2 319 \f[V]-all\f[R]: (Optional) Dump all objects, including unreachable 320 objects (BOOLEAN, false) 321 .IP \[bu] 2 322 \f[V]-gz\f[R]: (Optional) If specified, the heap dump is written in 323 gzipped format using the given compression level. 324 1 (recommended) is the fastest, 9 the strongest compression. 325 (INT, 1) 326 .IP \[bu] 2 327 \f[V]-overwrite\f[R]: (Optional) If specified, the dump file will be 328 overwritten if it exists (BOOLEAN, false) 329 .IP \[bu] 2 330 \f[V]-parallel\f[R]: (Optional) Number of parallel threads to use for 331 heap dump. 332 The VM will try to use the specified number of threads, but might use 333 fewer. 334 (INT, 1) 335 .PP 336 \f[I]arguments\f[R]: 337 .IP \[bu] 2 338 \f[I]filename\f[R]: The name of the dump file (STRING, no default value) 339 .RE 340 .TP 341 \f[V]GC.heap_info\f[R] 342 Provides generic Java heap information. 343 .RS 344 .PP 345 Impact: Medium 346 .RE 347 .TP 348 \f[V]GC.run\f[R] 349 Calls \f[V]java.lang.System.gc()\f[R]. 350 .RS 351 .PP 352 Impact: Medium --- depends on the Java heap size and content. 353 .RE 354 .TP 355 \f[V]GC.run_finalization\f[R] 356 Calls \f[V]java.lang.System.runFinalization()\f[R]. 357 .RS 358 .PP 359 Impact: Medium --- depends on the Java content. 360 .RE 361 .TP 362 \f[V]JFR.check\f[R] [\f[I]options\f[R]] 363 Show information about a running flight recording 364 .RS 365 .PP 366 Impact: Low 367 .PP 368 \f[B]Note:\f[R] 369 .PP 370 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 371 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 372 If no parameters are entered, information for all active recordings is 373 shown. 374 .PP 375 \f[I]options\f[R]: 376 .IP \[bu] 2 377 \f[V]name\f[R]: (Optional) Name of the flight recording. 378 (STRING, no default value) 379 .IP \[bu] 2 380 \f[V]verbose\f[R]: (Optional) Flag for printing the event settings for 381 the recording (BOOLEAN, false) 382 .RE 383 .TP 384 \f[V]JFR.configure\f[R] [\f[I]options\f[R]] 385 Set the parameters for a flight recording 386 .RS 387 .PP 388 Impact: Low 389 .PP 390 \f[B]Note:\f[R] 391 .PP 392 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 393 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 394 If no parameters are entered, the current settings are displayed. 395 .PP 396 \f[I]options\f[R]: 397 .IP \[bu] 2 398 \f[V]dumppath\f[R]: (Optional) Path to the location where a recording 399 file is written in case the VM runs into a critical error, such as a 400 system crash. 401 (STRING, The default location is the current directory) 402 .IP \[bu] 2 403 \f[V]globalbuffercount\f[R]: (Optional) Number of global buffers. 404 This option is a legacy option: change the \f[V]memorysize\f[R] 405 parameter to alter the number of global buffers. 406 This value cannot be changed once JFR has been initialized. 407 (STRING, default determined by the value for \f[V]memorysize\f[R]) 408 .IP \[bu] 2 409 \f[V]globalbuffersize\f[R]: (Optional) Size of the global buffers, in 410 bytes. 411 This option is a legacy option: change the \f[V]memorysize\f[R] 412 parameter to alter the size of the global buffers. 413 This value cannot be changed once JFR has been initialized. 414 (STRING, default determined by the value for \f[V]memorysize\f[R]) 415 .IP \[bu] 2 416 \f[V]maxchunksize\f[R]: (Optional) Maximum size of an individual data 417 chunk in bytes if one of the following suffixes is not used: \[aq]m\[aq] 418 or \[aq]M\[aq] for megabytes OR \[aq]g\[aq] or \[aq]G\[aq] for 419 gigabytes. 420 This value cannot be changed once JFR has been initialized. 421 (STRING, 12M) 422 .IP \[bu] 2 423 \f[V]memorysize\f[R]: (Optional) Overall memory size, in bytes if one of 424 the following suffixes is not used: \[aq]m\[aq] or \[aq]M\[aq] for 425 megabytes OR \[aq]g\[aq] or \[aq]G\[aq] for gigabytes. 426 This value cannot be changed once JFR has been initialized. 427 (STRING, 10M) 428 .IP \[bu] 2 429 \f[V]repositorypath\f[R]: (Optional) Path to the location where 430 recordings are stored until they are written to a permanent file. 431 (STRING, The default location is the temporary directory for the 432 operating system. 433 On Linux operating systems, the temporary directory is \f[V]/tmp\f[R]. 434 On Windwows, the temporary directory is specified by the \f[V]TMP\f[R] 435 environment variable.) 436 .IP \[bu] 2 437 \f[V]preserve-repository=\f[R]{\f[V]true\f[R]|\f[V]false\f[R]} : 438 Specifies whether files stored in the disk repository should be kept 439 after the JVM has exited. 440 If false, files are deleted. 441 By default, this parameter is disabled. 442 .IP \[bu] 2 443 \f[V]stackdepth\f[R]: (Optional) Stack depth for stack traces. 444 Setting this value greater than the default of 64 may cause a 445 performance degradation. 446 This value cannot be changed once JFR has been initialized. 447 (LONG, 64) 448 .IP \[bu] 2 449 \f[V]thread_buffer_size\f[R]: (Optional) Local buffer size for each 450 thread in bytes if one of the following suffixes is not used: 451 \[aq]k\[aq] or \[aq]K\[aq] for kilobytes or \[aq]m\[aq] or \[aq]M\[aq] 452 for megabytes. 453 Overriding this parameter could reduce performance and is not 454 recommended. 455 This value cannot be changed once JFR has been initialized. 456 (STRING, 8k) 457 .IP \[bu] 2 458 \f[V]samplethreads\f[R]: (Optional) Flag for activating thread sampling. 459 (BOOLEAN, true) 460 .RE 461 .TP 462 \f[V]JFR.dump\f[R] [\f[I]options\f[R]] 463 Write data to a file while a flight recording is running 464 .RS 465 .PP 466 Impact: Low 467 .PP 468 \f[B]Note:\f[R] 469 .PP 470 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 471 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 472 No options are required. 473 The recording continues to run after the data is written. 474 .PP 475 \f[I]options\f[R]: 476 .IP \[bu] 2 477 \f[V]begin\f[R]: (Optional) Specify the time from which recording data 478 will be included in the dump file. 479 The format is specified as local time. 480 (STRING, no default value) 481 .IP \[bu] 2 482 \f[V]end\f[R]: (Optional) Specify the time to which recording data will 483 be included in the dump file. 484 The format is specified as local time. 485 (STRING, no default value) 486 .RS 2 487 .PP 488 \f[B]Note:\f[R] For both \f[V]begin\f[R] and \f[V]end\f[R], the time 489 must be in a format that can be read by 490 java.time.LocalTime::parse(STRING), 491 java.time.LocalDateTime::parse(STRING) or 492 java.time.Instant::parse(STRING). 493 For example, \[dq]13:20:15\[dq], \[dq]2020-03-17T09:00:00\[dq] or 494 \[dq]2020-03-17T09:00:00Z\[dq]. 495 .PP 496 \f[B]Note:\f[R] \f[V]begin\f[R] and \f[V]end\f[R] times correspond to 497 the timestamps found within the recorded information in the flight 498 recording data. 499 .PP 500 Another option is to use a time relative to the current time that is 501 specified by a negative integer followed by \[dq]s\[dq], \[dq]m\[dq] or 502 \[dq]h\[dq]. 503 For example, \[dq]-12h\[dq], \[dq]-15m\[dq] or \[dq]-30s\[dq] 504 .RE 505 .IP \[bu] 2 506 \f[V]filename\f[R]: (Optional) Name of the file to which the flight 507 recording data is dumped. 508 If no filename is given, a filename is generated from the PID and the 509 current date. 510 The filename may also be a directory in which case, the filename is 511 generated from the PID and the current date in the specified directory. 512 If %p and/or %t is specified in the filename, it expands to the 513 JVM\[aq]s PID and the current timestamp, respectively. 514 (STRING, no default value) 515 .IP \[bu] 2 516 \f[V]maxage\f[R]: (Optional) Length of time for dumping the flight 517 recording data to a file. 518 (INTEGER followed by \[aq]s\[aq] for seconds \[aq]m\[aq] for minutes or 519 \[aq]h\[aq] for hours, no default value) 520 .IP \[bu] 2 521 \f[V]maxsize\f[R]: (Optional) Maximum size for the amount of data to 522 dump from a flight recording in bytes if one of the following suffixes 523 is not used: \[aq]m\[aq] or \[aq]M\[aq] for megabytes OR \[aq]g\[aq] or 524 \[aq]G\[aq] for gigabytes. 525 (STRING, no default value) 526 .IP \[bu] 2 527 \f[V]name\f[R]: (Optional) Name of the recording. 528 If no name is given, data from all recordings is dumped. 529 (STRING, no default value) 530 .IP \[bu] 2 531 \f[V]path-to-gc-roots\f[R]: (Optional) Flag for saving the path to 532 garbage collection (GC) roots at the time the recording data is dumped. 533 The path information is useful for finding memory leaks but collecting 534 it can cause the application to pause for a short period of time. 535 Turn on this flag only when you have an application that you suspect has 536 a memory leak. 537 (BOOLEAN, false) 538 .RE 539 .TP 540 \f[V]JFR.start\f[R] [\f[I]options\f[R]] 541 Start a flight recording 542 .RS 543 .PP 544 Impact: Low 545 .PP 546 \f[B]Note:\f[R] 547 .PP 548 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 549 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 550 If no parameters are entered, then a recording is started with default 551 values. 552 .PP 553 \f[I]options\f[R]: 554 .IP \[bu] 2 555 \f[V]delay\f[R]: (Optional) Length of time to wait before starting to 556 record (INTEGER followed by \[aq]s\[aq] for seconds \[aq]m\[aq] for 557 minutes or \[aq]h\[aq] for hours, 0s) 558 .IP \[bu] 2 559 \f[V]disk\f[R]: (Optional) Flag for also writing the data to disk while 560 recording (BOOLEAN, true) 561 .IP \[bu] 2 562 \f[V]dumponexit\f[R]: (Optional) Flag for writing the recording to disk 563 when the Java Virtual Machine (JVM) shuts down. 564 If set to \[aq]true\[aq] and no value is given for \f[V]filename\f[R], 565 the recording is written to a file in the directory where the process 566 was started. 567 The file name is a system-generated name that contains the process ID, 568 the recording ID and the current time stamp. 569 (For example: \f[V]id-1-2019_12_12_10_41.jfr\f[R]) (BOOLEAN, false) 570 .IP \[bu] 2 571 \f[V]duration\f[R]: (Optional) Length of time to record. 572 Note that \f[V]0s\f[R] means forever (INTEGER followed by \[aq]s\[aq] 573 for seconds \[aq]m\[aq] for minutes or \[aq]h\[aq] for hours, 0s) 574 .IP \[bu] 2 575 \f[V]filename\f[R]: (Optional) Name of the file to which the flight 576 recording data is written when the recording is stopped. 577 If no filename is given, a filename is generated from the PID and the 578 current date and is placed in the directory where the process was 579 started. 580 The filename may also be a directory in which case, the filename is 581 generated from the PID and the current date in the specified directory. 582 If %p and/or %t is specified in the filename, it expands to the 583 JVM\[aq]s PID and the current timestamp, respectively. 584 (STRING, no default value) 585 .IP \[bu] 2 586 \f[V]maxage\f[R]: (Optional) Maximum time to keep the recorded data on 587 disk. 588 This parameter is valid only when the \f[V]disk\f[R] parameter is set to 589 \f[V]true\f[R]. 590 Note \f[V]0s\f[R] means forever. 591 (INTEGER followed by \[aq]s\[aq] for seconds \[aq]m\[aq] for minutes or 592 \[aq]h\[aq] for hours, 0s) 593 .IP \[bu] 2 594 \f[V]maxsize\f[R]: (Optional) Maximum size of the data to keep on disk 595 in bytes if one of the following suffixes is not used: \[aq]m\[aq] or 596 \[aq]M\[aq] for megabytes OR \[aq]g\[aq] or \[aq]G\[aq] for gigabytes. 597 This parameter is valid only when the \f[V]disk\f[R] parameter is set to 598 \[aq]true\[aq]. 599 The value must not be less than the value for the \f[V]maxchunksize\f[R] 600 parameter set with the \f[V]JFR.configure\f[R] command. 601 (STRING, 0 (no maximum size)) 602 .IP \[bu] 2 603 \f[V]name\f[R]: (Optional) Name of the recording. 604 If no name is provided, a name is generated. 605 Make note of the generated name that is shown in the response to the 606 command so that you can use it with other commands. 607 (STRING, system-generated default name) 608 .IP \[bu] 2 609 \f[V]path-to-gc-roots\f[R]: (Optional) Flag for saving the path to 610 garbage collection (GC) roots at the end of a recording. 611 The path information is useful for finding memory leaks but collecting 612 it is time consuming. 613 Turn on this flag only when you have an application that you suspect has 614 a memory leak. 615 If the \f[V]settings\f[R] parameter is set to \[aq]profile\[aq], then 616 the information collected includes the stack trace from where the 617 potential leaking object was allocated. 618 (BOOLEAN, false) 619 .IP \[bu] 2 620 \f[V]settings\f[R]: (Optional) Name of the settings file that identifies 621 which events to record. 622 To specify more than one file, separate the names with a comma 623 (\[aq],\[aq]). 624 Include the path if the file is not in \f[V]JAVA-HOME\f[R]/lib/jfr. 625 The following profiles are included with the JDK in the 626 \f[V]JAVA-HOME\f[R]/lib/jfr directory: \[aq]default.jfc\[aq]: collects a 627 predefined set of information with low overhead, so it has minimal 628 impact on performance and can be used with recordings that run 629 continuously; \[aq]profile.jfc\[aq]: Provides more data than the 630 \[aq]default.jfc\[aq] profile, but with more overhead and impact on 631 performance. 632 Use this configuration for short periods of time when more information 633 is needed. 634 Use \f[V]none\f[R] to start a recording without a predefined 635 configuration file. 636 (STRING, \f[V]JAVA-HOME\f[R]/lib/jfr/default.jfc) 637 .PP 638 Event settings and .jfc options can be specified using the following 639 syntax: 640 .IP \[bu] 2 641 \f[V]option\f[R]: (Optional) Specifies the option value to modify. 642 To list available options, use the \f[V]JAVA_HOME\f[R]/bin/jfr tool. 643 .IP \[bu] 2 644 \f[V]event-setting\f[R]: (Optional) Specifies the event setting value to 645 modify. 646 Use the form: \f[V]<event-name>#<setting-name>=<value>\f[R] To add a new 647 event setting, prefix the event name with \[aq]+\[aq]. 648 .PP 649 You can specify values for multiple event settings and .jfc options by 650 separating them with a whitespace. 651 In case of a conflict between a parameter and a .jfc option, the 652 parameter will take precedence. 653 The whitespace delimiter can be omitted for timespan values, i.e. 654 20ms. 655 For more information about the settings syntax, see Javadoc of the 656 jdk.jfr package. 657 .RE 658 .TP 659 \f[V]JFR.stop\f[R] [\f[I]options\f[R]] 660 Stop a flight recording 661 .RS 662 .PP 663 Impact: Low 664 .PP 665 \f[B]Note:\f[R] 666 .PP 667 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 668 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 669 If no parameters are entered, then no recording is stopped. 670 .PP 671 \f[I]options\f[R]: 672 .IP \[bu] 2 673 \f[V]filename\f[R]: (Optional) Name of the file to which the recording 674 is written when the recording is stopped. 675 If %p and/or %t is specified in the filename, it expands to the 676 JVM\[aq]s PID and the current timestamp, respectively. 677 If no path is provided, the data from the recording is discarded. 678 (STRING, no default value) 679 .IP \[bu] 2 680 \f[V]name\f[R]: (Optional) Name of the recording (STRING, no default 681 value) 682 .RE 683 .TP 684 \f[V]JFR.view\f[R] [\f[I]options\f[R]] 685 Display event data in predefined views. 686 .RS 687 .PP 688 Impact: Medium 689 .PP 690 \f[B]Note:\f[R] 691 .PP 692 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 693 \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 694 If no parameters are entered, then a list of available views are 695 displayed. 696 .PP 697 \f[I]options\f[R]: 698 .IP \[bu] 2 699 \f[V]cell-height\f[R]: (Optional) Maximum number of rows in a table 700 cell. 701 (INT, default value depends on the view) 702 .IP \[bu] 2 703 \f[V]maxage\f[R]: (Optional) Length of time for the view to span. 704 (INT followed by \[aq]s\[aq] for seconds \[aq]m\[aq] for minutes or 705 \[aq]h\[aq] for hours, default value is 10m) 706 .IP \[bu] 2 707 \f[V]maxsize\f[R]: (Optional) Maximum size for the view to span in bytes 708 if one of the following suffixes is not used: \[aq]m\[aq] or \[aq]M\[aq] 709 for megabytes OR \[aq]g\[aq] or \[aq]G\[aq] for gigabytes. 710 (STRING, default value is 32MB) 711 .IP \[bu] 2 712 \f[V]truncate\f[R]: (Optional) Maximum number of rows in a table cell. 713 (INT, default value depends on the view) 714 .IP \[bu] 2 715 \f[V]verbose\f[R]: (Optional) Displays the query that makes up the view. 716 (BOOLEAN, default value is false) 717 .IP \[bu] 2 718 \f[V]width\f[R]: (Optional) The width of the view in characters. 719 (INT, default value depends on the view) 720 .PP 721 \f[I]arguments\f[R]: 722 .IP \[bu] 2 723 \f[V]view\f[R]: Name of the view or event type to display. 724 Use \f[V]help JFR.view\f[R] to see a list of available views. 725 (STRING, no default value) 726 .PP 727 The view parameter can be an event type name. 728 Use \f[V]JFR.view types\f[R] to see a list. 729 To display all views, use \f[V]JFR.view all-views\f[R]. 730 To display all events, use \f[V]JFR.view all-events\f[R]. 731 .RE 732 .TP 733 \f[V]JVMTI.agent_load\f[R] [\f[I]arguments\f[R]] 734 Loads JVMTI native agent. 735 .RS 736 .PP 737 Impact: Low 738 .PP 739 \f[I]arguments\f[R]: 740 .IP \[bu] 2 741 \f[I]library path\f[R]: Absolute path of the JVMTI agent to load. 742 (STRING, no default value) 743 .IP \[bu] 2 744 \f[I]agent option\f[R]: (Optional) Option string to pass the agent. 745 (STRING, no default value) 746 .RE 747 .TP 748 \f[V]JVMTI.data_dump\f[R] 749 Signal the JVM to do a data-dump request for JVMTI. 750 .RS 751 .PP 752 Impact: High 753 .RE 754 .TP 755 \f[V]ManagementAgent.start\f[R] [\f[I]options\f[R]] 756 Starts remote management agent. 757 .RS 758 .PP 759 Impact: Low --- no impact 760 .PP 761 \f[B]Note:\f[R] 762 .PP 763 The following \f[I]options\f[R] must be specified using either 764 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 765 .PP 766 \f[I]options\f[R]: 767 .IP \[bu] 2 768 \f[V]config.file\f[R]: (Optional) Sets 769 \f[V]com.sun.management.config.file\f[R] (STRING, no default value) 770 .IP \[bu] 2 771 \f[V]jmxremote.host\f[R]: (Optional) Sets 772 \f[V]com.sun.management.jmxremote.host\f[R] (STRING, no default value) 773 .IP \[bu] 2 774 \f[V]jmxremote.port\f[R]: (Optional) Sets 775 \f[V]com.sun.management.jmxremote.port\f[R] (STRING, no default value) 776 .IP \[bu] 2 777 \f[V]jmxremote.rmi.port\f[R]: (Optional) Sets 778 \f[V]com.sun.management.jmxremote.rmi.port\f[R] (STRING, no default 779 value) 780 .IP \[bu] 2 781 \f[V]jmxremote.ssl\f[R]: (Optional) Sets 782 \f[V]com.sun.management.jmxremote.ssl\f[R] (STRING, no default value) 783 .IP \[bu] 2 784 \f[V]jmxremote.registry.ssl\f[R]: (Optional) Sets 785 \f[V]com.sun.management.jmxremote.registry.ssl\f[R] (STRING, no default 786 value) 787 .IP \[bu] 2 788 \f[V]jmxremote.authenticate\f[R]: (Optional) Sets 789 \f[V]com.sun.management.jmxremote.authenticate\f[R] (STRING, no default 790 value) 791 .IP \[bu] 2 792 jmxremote.password.file: (Optional) Sets 793 \f[V]com.sun.management.jmxremote.password.file\f[R] (STRING, no default 794 value) 795 .IP \[bu] 2 796 \f[V]jmxremote.access.file\f[R]: (Optional) Sets 797 \f[V]com.sun.management.jmxremote.acce ss.file\f[R] (STRING, no default 798 value) 799 .IP \[bu] 2 800 \f[V]jmxremote.login.config\f[R]: (Optional) Sets 801 \f[V]com.sun.management.jmxremote.log in.config\f[R] (STRING, no default 802 value) 803 .IP \[bu] 2 804 \f[V]jmxremote.ssl.enabled.cipher.suites\f[R]: (Optional) Sets 805 \f[V]com.sun.management\f[R]. 806 .IP \[bu] 2 807 \f[V]jmxremote.ssl.enabled.cipher.suite\f[R]: (STRING, no default value) 808 .IP \[bu] 2 809 \f[V]jmxremote.ssl.enabled.protocols\f[R]: (Optional) Sets 810 \f[V]com.sun.management.jmxr emote.ssl.enabled.protocols\f[R] (STRING, 811 no default value) 812 .IP \[bu] 2 813 \f[V]jmxremote.ssl.need.client.auth\f[R]: (Optional) Sets 814 \f[V]com.sun.management.jmxre mote.need.client.auth\f[R] (STRING, no 815 default value) 816 .IP \[bu] 2 817 \f[V]jmxremote.ssl.config.file\f[R]: (Optional) Sets 818 \f[V]com.sun.management.jmxremote. ssl_config_file\f[R] (STRING, no 819 default value) 820 .IP \[bu] 2 821 \f[V]jmxremote.autodiscovery\f[R]: (Optional) Sets 822 \f[V]com.sun.management.jmxremote.au todiscovery\f[R] (STRING, no 823 default value) 824 .IP \[bu] 2 825 \f[V]jdp.port\f[R]: (Optional) Sets 826 \f[V]com.sun.management.jdp.port\f[R] (INT, no default value) 827 .IP \[bu] 2 828 \f[V]jdp.address\f[R]: (Optional) Sets 829 \f[V]com.sun.management.jdp.address\f[R] (STRING, no default value) 830 .IP \[bu] 2 831 \f[V]jdp.source_addr\f[R]: (Optional) Sets 832 \f[V]com.sun.management.jdp.source_addr\f[R] (STRING, no default value) 833 .IP \[bu] 2 834 \f[V]jdp.ttl\f[R]: (Optional) Sets \f[V]com.sun.management.jdp.ttl\f[R] 835 (INT, no default value) 836 .IP \[bu] 2 837 \f[V]jdp.pause\f[R]: (Optional) Sets 838 \f[V]com.sun.management.jdp.pause\f[R] (INT, no default value) 839 .IP \[bu] 2 840 \f[V]jdp.name\f[R]: (Optional) Sets 841 \f[V]com.sun.management.jdp.name\f[R] (STRING, no default value) 842 .RE 843 .TP 844 \f[V]ManagementAgent.start_local\f[R] 845 Starts the local management agent. 846 .RS 847 .PP 848 Impact: Low --- no impact 849 .RE 850 .TP 851 \f[V]ManagementAgent.status\f[R] 852 Print the management agent status. 853 .RS 854 .PP 855 Impact: Low --- no impact 856 .RE 857 .TP 858 \f[V]ManagementAgent.stop\f[R] 859 Stops the remote management agent. 860 .RS 861 .PP 862 Impact: Low --- no impact 863 .RE 864 .TP 865 \f[V]System.dump_map\f[R] [\f[I]options\f[R]] (Linux only) 866 Dumps an annotated process memory map to an output file. 867 .RS 868 .PP 869 Impact: Low 870 .PP 871 \f[B]Note:\f[R] 872 .PP 873 The following \f[I]options\f[R] must be specified using either 874 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 875 .PP 876 \f[I]options\f[R]: 877 .IP \[bu] 2 878 \f[V]-H\f[R]: (Optional) Human readable format (BOOLEAN, false) 879 .IP \[bu] 2 880 \f[V]-F\f[R]: (Optional) File path (STRING, 881 \[dq]vm_memory_map_<pid>.txt\[dq]) 882 .RE 883 .TP 884 \f[V]System.map\f[R] [\f[I]options\f[R]] (Linux only) 885 Prints an annotated process memory map of the VM process. 886 .RS 887 .PP 888 Impact: Low 889 .PP 890 \f[B]Note:\f[R] 891 .PP 892 The following \f[I]options\f[R] must be specified using either 893 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 894 .PP 895 \f[I]options\f[R]: 896 .IP \[bu] 2 897 \f[V]-H\f[R]: (Optional) Human readable format (BOOLEAN, false) 898 .RE 899 .TP 900 \f[V]System.native_heap_info\f[R] (Linux only) 901 Attempts to output information regarding native heap usage through 902 malloc_info(3). 903 If unsuccessful outputs \[dq]Error: \[dq] and a reason. 904 .RS 905 .PP 906 Impact: Low 907 .RE 908 .TP 909 \f[V]System.trim_native_heap\f[R] (Linux only) 910 Attempts to free up memory by trimming the C-heap. 911 .RS 912 .PP 913 Impact: Low 914 .RE 915 .TP 916 \f[V]Thread.dump_to_file\f[R] [\f[I]options\f[R]] \f[I]filepath\f[R] 917 Dump threads, with stack traces, to a file in plain text or JSON format. 918 .RS 919 .PP 920 Impact: Medium: Depends on the number of threads. 921 .PP 922 \f[B]Note:\f[R] 923 .PP 924 The following \f[I]options\f[R] must be specified using either 925 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 926 .PP 927 \f[I]options\f[R]: 928 .IP \[bu] 2 929 \f[V]-overwrite\f[R]: (Optional) May overwrite existing file (BOOLEAN, 930 false) 931 .IP \[bu] 2 932 \f[V]-format\f[R]: (Optional) Output format (\[dq]plain\[dq] or 933 \[dq]json\[dq]) (STRING, plain) 934 .PP 935 \f[I]arguments\f[R]: 936 .IP \[bu] 2 937 \f[I]filepath\f[R]: The file path to the output file (STRING, no default 938 value) 939 .RE 940 .TP 941 \f[V]Thread.print\f[R] [\f[I]options\f[R]] 942 Prints all threads with stacktraces. 943 .RS 944 .PP 945 Impact: Medium --- depends on the number of threads. 946 .PP 947 \f[B]Note:\f[R] 948 .PP 949 The following \f[I]options\f[R] must be specified using either 950 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 951 .PP 952 \f[I]options\f[R]: 953 .IP \[bu] 2 954 \f[V]-e\f[R]: (Optional) Print extended thread information (BOOLEAN, 955 false) 956 .IP \[bu] 2 957 \f[V]-l\f[R]: (Optional) Prints \f[V]java.util.concurrent\f[R] locks 958 (BOOLEAN, false) 959 .RE 960 .TP 961 \f[V]VM.cds\f[R] [\f[I]arguments\f[R]] 962 Dump a static or dynamic shared archive that includes all currently 963 loaded classes. 964 .RS 965 .PP 966 Impact: Medium --- pause time depends on number of loaded classes 967 .PP 968 \f[I]arguments\f[R]: 969 .IP \[bu] 2 970 \f[I]subcmd\f[R]: must be either \f[V]static_dump\f[R] or 971 \f[V]dynamic_dump\f[R] (STRING, no default value) 972 .IP \[bu] 2 973 \f[I]filename\f[R]: (Optional) Name of the shared archive to be dumped 974 (STRING, java_pid<pid>_<subcmd>.jsa) 975 .PP 976 If \f[V]filename\f[R] is not specified, a default file name is chosen 977 using the pid of the target JVM process. 978 For example, java_pid1234_static.jsa, java_pid5678_dynamic.jsa, etc. 979 .PP 980 If \f[V]filename\f[R] is not specified as an absolute path, the archive 981 file is created in a directory relative to the current directory of the 982 target JVM process. 983 .PP 984 If \f[V]dynamic_dump\f[R] is specified, the target JVM must be started 985 with the JVM option \f[V]-XX:+RecordDynamicDumpInfo\f[R]. 986 .RE 987 .TP 988 \f[V]VM.class_hierarchy\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 989 Print a list of all loaded classes, indented to show the class 990 hierarchy. 991 The name of each class is followed by the ClassLoaderData* of its 992 ClassLoader, or \[dq]null\[dq] if it is loaded by the bootstrap class 993 loader. 994 .RS 995 .PP 996 Impact: Medium --- depends on the number of loaded classes. 997 .PP 998 \f[B]Note:\f[R] 999 .PP 1000 The following \f[I]options\f[R] must be specified using either 1001 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1002 .PP 1003 \f[I]options\f[R]: 1004 .IP \[bu] 2 1005 \f[V]-i\f[R]: (Optional) Inherited interfaces should be printed. 1006 (BOOLEAN, false) 1007 .IP \[bu] 2 1008 \f[V]-s\f[R]: (Optional) If a classname is specified, print its 1009 subclasses in addition to its superclasses. 1010 Without this option only the superclasses will be printed. 1011 (BOOLEAN, false) 1012 .PP 1013 \f[I]arguments\f[R]: 1014 .IP \[bu] 2 1015 \f[I]classname\f[R]: (Optional) The name of the class whose hierarchy 1016 should be printed. 1017 If not specified, all class hierarchies are printed. 1018 (STRING, no default value) 1019 .RE 1020 .TP 1021 \f[V]VM.classes\f[R] [\f[I]options\f[R]] 1022 Print all loaded classes 1023 .RS 1024 .PP 1025 Impact: Medium: Depends on number of loaded classes. 1026 .PP 1027 The following \f[I]options\f[R] must be specified using either 1028 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1029 .PP 1030 \f[I]options\f[R]: 1031 .IP \[bu] 2 1032 \f[V]-verbose\f[R]: (Optional) Dump the detailed content of a Java 1033 class. 1034 Some classes are annotated with flags: \f[V]F\f[R] = has, or inherits, a 1035 non-empty finalize method, \f[V]f\f[R] = has final method, \f[V]W\f[R] = 1036 methods rewritten, \f[V]C\f[R] = marked with \f[V]\[at]Contended\f[R] 1037 annotation, \f[V]R\f[R] = has been redefined, \f[V]S\f[R] = is shared 1038 class (BOOLEAN, false) 1039 .RE 1040 .TP 1041 \f[V]VM.classloader_stats\f[R] 1042 Print statistics about all ClassLoaders. 1043 .RS 1044 .PP 1045 Impact: Low 1046 .RE 1047 .TP 1048 \f[V]VM.classloaders\f[R] [\f[I]options\f[R]] 1049 Prints classloader hierarchy. 1050 .RS 1051 .PP 1052 Impact: Medium --- Depends on number of class loaders and classes 1053 loaded. 1054 .PP 1055 The following \f[I]options\f[R] must be specified using either 1056 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1057 .PP 1058 \f[I]options\f[R]: 1059 .IP \[bu] 2 1060 \f[V]show-classes\f[R]: (Optional) Print loaded classes. 1061 (BOOLEAN, false) 1062 .IP \[bu] 2 1063 \f[V]verbose\f[R]: (Optional) Print detailed information. 1064 (BOOLEAN, false) 1065 .IP \[bu] 2 1066 \f[V]fold\f[R]: (Optional) Show loaders of the same name and class as 1067 one. 1068 (BOOLEAN, true) 1069 .RE 1070 .TP 1071 \f[V]VM.command_line\f[R] 1072 Print the command line used to start this VM instance. 1073 .RS 1074 .PP 1075 Impact: Low 1076 .RE 1077 .TP 1078 \f[V]VM.dynlibs\f[R] 1079 Print loaded dynamic libraries. 1080 .RS 1081 .PP 1082 Impact: Low 1083 .RE 1084 .TP 1085 \f[V]VM.events\f[R] [\f[I]options\f[R]] 1086 Print VM event logs 1087 .RS 1088 .PP 1089 Impact: Low --- Depends on event log size. 1090 .PP 1091 \f[I]options\f[R]: 1092 .PP 1093 \f[B]Note:\f[R] 1094 .PP 1095 The following \f[I]options\f[R] must be specified using either 1096 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1097 .IP \[bu] 2 1098 \f[V]log\f[R]: (Optional) Name of log to be printed. 1099 If omitted, all logs are printed. 1100 (STRING, no default value) 1101 .IP \[bu] 2 1102 \f[V]max\f[R]: (Optional) Maximum number of events to be printed (newest 1103 first). 1104 If omitted, all events are printed. 1105 (STRING, no default value) 1106 .RE 1107 .TP 1108 \f[V]VM.flags\f[R] [\f[I]options\f[R]] 1109 Print the VM flag options and their current values. 1110 .RS 1111 .PP 1112 Impact: Low 1113 .PP 1114 \f[B]Note:\f[R] 1115 .PP 1116 The following \f[I]options\f[R] must be specified using either 1117 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1118 .PP 1119 \f[I]options\f[R]: 1120 .IP \[bu] 2 1121 \f[V]-all\f[R]: (Optional) Prints all flags supported by the VM 1122 (BOOLEAN, false). 1123 .RE 1124 .TP 1125 \f[V]VM.info\f[R] 1126 Print information about the JVM environment and status. 1127 .RS 1128 .PP 1129 Impact: Low 1130 .RE 1131 .TP 1132 \f[V]VM.log\f[R] [\f[I]options\f[R]] 1133 Lists current log configuration, enables/disables/configures a log 1134 output, or rotates all logs. 1135 .RS 1136 .PP 1137 Impact: Low 1138 .PP 1139 \f[I]options\f[R]: 1140 .PP 1141 \f[B]Note:\f[R] 1142 .PP 1143 The following \f[I]options\f[R] must be specified using either 1144 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1145 .IP \[bu] 2 1146 \f[V]output\f[R]: (Optional) The name or index (#) of output to 1147 configure. 1148 (STRING, no default value) 1149 .IP \[bu] 2 1150 \f[V]output_options\f[R]: (Optional) Options for the output. 1151 (STRING, no default value) 1152 .IP \[bu] 2 1153 \f[V]what\f[R]: (Optional) Configures what tags to log. 1154 (STRING, no default value ) 1155 .IP \[bu] 2 1156 \f[V]decorators\f[R]: (Optional) Configures which decorators to use. 1157 Use \[aq]none\[aq] or an empty value to remove all. 1158 (STRING, no default value) 1159 .IP \[bu] 2 1160 \f[V]disable\f[R]: (Optional) Turns off all logging and clears the log 1161 configuration. 1162 (BOOLEAN, no default value) 1163 .IP \[bu] 2 1164 \f[V]list\f[R]: (Optional) Lists current log configuration. 1165 (BOOLEAN, no default value) 1166 .IP \[bu] 2 1167 \f[V]rotate\f[R]: (Optional) Rotates all logs. 1168 (BOOLEAN, no default value) 1169 .RE 1170 .TP 1171 \f[V]VM.metaspace\f[R] [\f[I]options\f[R]] 1172 Prints the statistics for the metaspace 1173 .RS 1174 .PP 1175 Impact: Medium --- Depends on number of classes loaded. 1176 .PP 1177 \f[B]Note:\f[R] 1178 .PP 1179 The following \f[I]options\f[R] must be specified using either 1180 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1181 .PP 1182 \f[I]options\f[R]: 1183 .IP \[bu] 2 1184 \f[V]basic\f[R]: (Optional) Prints a basic summary (does not need a 1185 safepoint). 1186 (BOOLEAN, false) 1187 .IP \[bu] 2 1188 \f[V]show-loaders\f[R]: (Optional) Shows usage by class loader. 1189 (BOOLEAN, false) 1190 .IP \[bu] 2 1191 \f[V]show-classes\f[R]: (Optional) If show-loaders is set, shows loaded 1192 classes for each loader. 1193 (BOOLEAN, false) 1194 .IP \[bu] 2 1195 \f[V]by-chunktype\f[R]: (Optional) Break down numbers by chunk type. 1196 (BOOLEAN, false) 1197 .IP \[bu] 2 1198 \f[V]by-spacetype\f[R]: (Optional) Break down numbers by loader type. 1199 (BOOLEAN, false) 1200 .IP \[bu] 2 1201 \f[V]vslist\f[R]: (Optional) Shows details about the underlying virtual 1202 space. 1203 (BOOLEAN, false) 1204 .IP \[bu] 2 1205 \f[V]chunkfreelist\f[R]: (Optional) Shows details about global chunk 1206 free lists (ChunkManager). 1207 (BOOLEAN, false) 1208 .IP \[bu] 2 1209 \f[V]scale\f[R]: (Optional) Memory usage in which to scale. 1210 Valid values are: 1, KB, MB or GB (fixed scale) or \[dq]dynamic\[dq] for 1211 a dynamically chosen scale. 1212 (STRING, dynamic) 1213 .RE 1214 .TP 1215 \f[V]VM.native_memory\f[R] [\f[I]options\f[R]] 1216 Print native memory usage 1217 .RS 1218 .PP 1219 Impact: Medium 1220 .PP 1221 \f[B]Note:\f[R] 1222 .PP 1223 The following \f[I]options\f[R] must be specified using either 1224 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1225 .PP 1226 \f[I]options\f[R]: 1227 .IP \[bu] 2 1228 \f[V]summary\f[R]: (Optional) Requests runtime to report current memory 1229 summary, which includes total reserved and committed memory, along with 1230 memory usage summary by each subsystem. 1231 (BOOLEAN, false) 1232 .IP \[bu] 2 1233 \f[V]detail\f[R]: (Optional) Requests runtime to report memory 1234 allocation >= 1K by each callsite. 1235 (BOOLEAN, false) 1236 .IP \[bu] 2 1237 \f[V]baseline\f[R]: (Optional) Requests runtime to baseline current 1238 memory usage, so it can be compared against in later time. 1239 (BOOLEAN, false) 1240 .IP \[bu] 2 1241 \f[V]summary.diff\f[R]: (Optional) Requests runtime to report memory 1242 summary comparison against previous baseline. 1243 (BOOLEAN, false) 1244 .IP \[bu] 2 1245 \f[V]detail.diff\f[R]: (Optional) Requests runtime to report memory 1246 detail comparison against previous baseline, which shows the memory 1247 allocation activities at different callsites. 1248 (BOOLEAN, false) 1249 .IP \[bu] 2 1250 \f[V]statistics\f[R]: (Optional) Prints tracker statistics for tuning 1251 purpose. 1252 (BOOLEAN, false) 1253 .IP \[bu] 2 1254 \f[V]scale\f[R]: (Optional) Memory usage in which scale, KB, MB or GB 1255 (STRING, KB) 1256 .RE 1257 .TP 1258 \f[V]VM.set_flag\f[R] [\f[I]arguments\f[R]] 1259 Sets VM flag option using the provided value. 1260 .RS 1261 .PP 1262 Impact: Low 1263 .PP 1264 \f[I]arguments\f[R]: 1265 .IP \[bu] 2 1266 \f[I]flag name\f[R]: The name of the flag that you want to set (STRING, 1267 no default value) 1268 .IP \[bu] 2 1269 \f[I]string value\f[R]: (Optional) The value that you want to set 1270 (STRING, no default value) 1271 .RE 1272 .TP 1273 \f[V]VM.stringtable\f[R] [\f[I]options\f[R]] 1274 Dump string table. 1275 .RS 1276 .PP 1277 Impact: Medium --- depends on the Java content. 1278 .PP 1279 \f[B]Note:\f[R] 1280 .PP 1281 The following \f[I]options\f[R] must be specified using either 1282 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1283 .PP 1284 \f[I]options\f[R]: 1285 .IP \[bu] 2 1286 \f[V]-verbose\f[R]: (Optional) Dumps the content of each string in the 1287 table (BOOLEAN, false) 1288 .RE 1289 .TP 1290 \f[V]VM.symboltable\f[R] [\f[I]options\f[R]] 1291 Dump symbol table. 1292 .RS 1293 .PP 1294 Impact: Medium --- depends on the Java content. 1295 .PP 1296 \f[B]Note:\f[R] 1297 .PP 1298 The following \f[I]options\f[R] must be specified using either 1299 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax). 1300 .PP 1301 \f[I]options\f[R]: 1302 .IP \[bu] 2 1303 \f[V]-verbose\f[R]: (Optional) Dumps the content of each symbol in the 1304 table (BOOLEAN, false) 1305 .RE 1306 .TP 1307 \f[V]VM.system_properties\f[R] 1308 Print system properties. 1309 .RS 1310 .PP 1311 Impact: Low 1312 .RE 1313 .TP 1314 \f[V]VM.systemdictionary\f[R] 1315 Prints the statistics for dictionary hashtable sizes and bucket length. 1316 .RS 1317 .PP 1318 Impact: Medium 1319 .PP 1320 \f[B]Note:\f[R] 1321 .PP 1322 The following \f[I]options\f[R] must be specified using either 1323 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1324 .PP 1325 \f[I]options\f[R]: 1326 .IP \[bu] 2 1327 \f[V]verbose\f[R]: (Optional) Dump the content of each dictionary entry 1328 for all class loaders (BOOLEAN, false) . 1329 .RE 1330 .TP 1331 \f[V]VM.uptime\f[R] [\f[I]options\f[R]] 1332 Print VM uptime. 1333 .RS 1334 .PP 1335 Impact: Low 1336 .PP 1337 \f[B]Note:\f[R] 1338 .PP 1339 The following \f[I]options\f[R] must be specified using either 1340 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax. 1341 .PP 1342 \f[I]options\f[R]: 1343 .IP \[bu] 2 1344 \f[V]-date\f[R]: (Optional) Adds a prefix with the current date 1345 (BOOLEAN, false) 1346 .RE 1347 .TP 1348 \f[V]VM.version\f[R] 1349 Print JVM version information. 1350 .RS 1351 .PP 1352 Impact: Low 1353 .RE