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 platform 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]Thread.vthread_summary\f[R]
 962 Print the virtual thread scheduler, timeout schedulers, I/O pollers, and
 963 thread groupings.
 964 .RS
 965 .PP
 966 Impact: Low
 967 .RE
 968 .TP
 969 \f[V]VM.cds\f[R] [\f[I]arguments\f[R]]
 970 Dump a static or dynamic shared archive that includes all currently
 971 loaded classes.
 972 .RS
 973 .PP
 974 Impact: Medium --- pause time depends on number of loaded classes
 975 .PP
 976 \f[I]arguments\f[R]:
 977 .IP \[bu] 2
 978 \f[I]subcmd\f[R]: must be either \f[V]static_dump\f[R] or
 979 \f[V]dynamic_dump\f[R] (STRING, no default value)
 980 .IP \[bu] 2
 981 \f[I]filename\f[R]: (Optional) Name of the shared archive to be dumped
 982 (STRING, java_pid<pid>_<subcmd>.jsa)
 983 .PP
 984 If \f[V]filename\f[R] is not specified, a default file name is chosen
 985 using the pid of the target JVM process.
 986 For example, java_pid1234_static.jsa, java_pid5678_dynamic.jsa, etc.
 987 .PP
 988 If \f[V]filename\f[R] is not specified as an absolute path, the archive
 989 file is created in a directory relative to the current directory of the
 990 target JVM process.
 991 .PP
 992 If \f[V]dynamic_dump\f[R] is specified, the target JVM must be started
 993 with the JVM option \f[V]-XX:+RecordDynamicDumpInfo\f[R].
 994 .RE
 995 .TP
 996 \f[V]VM.class_hierarchy\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]]
 997 Print a list of all loaded classes, indented to show the class
 998 hierarchy.
 999 The name of each class is followed by the ClassLoaderData* of its
1000 ClassLoader, or \[dq]null\[dq] if it is loaded by the bootstrap class
1001 loader.
1002 .RS
1003 .PP
1004 Impact: Medium --- depends on the number of loaded classes.
1005 .PP
1006 \f[B]Note:\f[R]
1007 .PP
1008 The following \f[I]options\f[R] must be specified using either
1009 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1010 .PP
1011 \f[I]options\f[R]:
1012 .IP \[bu] 2
1013 \f[V]-i\f[R]: (Optional) Inherited interfaces should be printed.
1014 (BOOLEAN, false)
1015 .IP \[bu] 2
1016 \f[V]-s\f[R]: (Optional) If a classname is specified, print its
1017 subclasses in addition to its superclasses.
1018 Without this option only the superclasses will be printed.
1019 (BOOLEAN, false)
1020 .PP
1021 \f[I]arguments\f[R]:
1022 .IP \[bu] 2
1023 \f[I]classname\f[R]: (Optional) The name of the class whose hierarchy
1024 should be printed.
1025 If not specified, all class hierarchies are printed.
1026 (STRING, no default value)
1027 .RE
1028 .TP
1029 \f[V]VM.classes\f[R] [\f[I]options\f[R]]
1030 Print all loaded classes
1031 .RS
1032 .PP
1033 Impact: Medium: Depends on number of loaded classes.
1034 .PP
1035 The following \f[I]options\f[R] must be specified using either
1036 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1037 .PP
1038 \f[I]options\f[R]:
1039 .IP \[bu] 2
1040 \f[V]-verbose\f[R]: (Optional) Dump the detailed content of a Java
1041 class.
1042 Some classes are annotated with flags: \f[V]F\f[R] = has, or inherits, a
1043 non-empty finalize method, \f[V]f\f[R] = has final method, \f[V]W\f[R] =
1044 methods rewritten, \f[V]C\f[R] = marked with \f[V]\[at]Contended\f[R]
1045 annotation, \f[V]R\f[R] = has been redefined, \f[V]S\f[R] = is shared
1046 class (BOOLEAN, false)
1047 .RE
1048 .TP
1049 \f[V]VM.classloader_stats\f[R]
1050 Print statistics about all ClassLoaders.
1051 .RS
1052 .PP
1053 Impact: Low
1054 .RE
1055 .TP
1056 \f[V]VM.classloaders\f[R] [\f[I]options\f[R]]
1057 Prints classloader hierarchy.
1058 .RS
1059 .PP
1060 Impact: Medium --- Depends on number of class loaders and classes
1061 loaded.
1062 .PP
1063 The following \f[I]options\f[R] must be specified using either
1064 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1065 .PP
1066 \f[I]options\f[R]:
1067 .IP \[bu] 2
1068 \f[V]show-classes\f[R]: (Optional) Print loaded classes.
1069 (BOOLEAN, false)
1070 .IP \[bu] 2
1071 \f[V]verbose\f[R]: (Optional) Print detailed information.
1072 (BOOLEAN, false)
1073 .IP \[bu] 2
1074 \f[V]fold\f[R]: (Optional) Show loaders of the same name and class as
1075 one.
1076 (BOOLEAN, true)
1077 .RE
1078 .TP
1079 \f[V]VM.command_line\f[R]
1080 Print the command line used to start this VM instance.
1081 .RS
1082 .PP
1083 Impact: Low
1084 .RE
1085 .TP
1086 \f[V]VM.dynlibs\f[R]
1087 Print loaded dynamic libraries.
1088 .RS
1089 .PP
1090 Impact: Low
1091 .RE
1092 .TP
1093 \f[V]VM.events\f[R] [\f[I]options\f[R]]
1094 Print VM event logs
1095 .RS
1096 .PP
1097 Impact: Low --- Depends on event log size.
1098 .PP
1099 \f[I]options\f[R]:
1100 .PP
1101 \f[B]Note:\f[R]
1102 .PP
1103 The following \f[I]options\f[R] must be specified using either
1104 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1105 .IP \[bu] 2
1106 \f[V]log\f[R]: (Optional) Name of log to be printed.
1107 If omitted, all logs are printed.
1108 (STRING, no default value)
1109 .IP \[bu] 2
1110 \f[V]max\f[R]: (Optional) Maximum number of events to be printed (newest
1111 first).
1112 If omitted, all events are printed.
1113 (STRING, no default value)
1114 .RE
1115 .TP
1116 \f[V]VM.flags\f[R] [\f[I]options\f[R]]
1117 Print the VM flag options and their current values.
1118 .RS
1119 .PP
1120 Impact: Low
1121 .PP
1122 \f[B]Note:\f[R]
1123 .PP
1124 The following \f[I]options\f[R] must be specified using either
1125 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1126 .PP
1127 \f[I]options\f[R]:
1128 .IP \[bu] 2
1129 \f[V]-all\f[R]: (Optional) Prints all flags supported by the VM
1130 (BOOLEAN, false).
1131 .RE
1132 .TP
1133 \f[V]VM.info\f[R]
1134 Print information about the JVM environment and status.
1135 .RS
1136 .PP
1137 Impact: Low
1138 .RE
1139 .TP
1140 \f[V]VM.log\f[R] [\f[I]options\f[R]]
1141 Lists current log configuration, enables/disables/configures a log
1142 output, or rotates all logs.
1143 .RS
1144 .PP
1145 Impact: Low
1146 .PP
1147 \f[I]options\f[R]:
1148 .PP
1149 \f[B]Note:\f[R]
1150 .PP
1151 The following \f[I]options\f[R] must be specified using either
1152 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1153 .IP \[bu] 2
1154 \f[V]output\f[R]: (Optional) The name or index (#) of output to
1155 configure.
1156 (STRING, no default value)
1157 .IP \[bu] 2
1158 \f[V]output_options\f[R]: (Optional) Options for the output.
1159 (STRING, no default value)
1160 .IP \[bu] 2
1161 \f[V]what\f[R]: (Optional) Configures what tags to log.
1162 (STRING, no default value )
1163 .IP \[bu] 2
1164 \f[V]decorators\f[R]: (Optional) Configures which decorators to use.
1165 Use \[aq]none\[aq] or an empty value to remove all.
1166 (STRING, no default value)
1167 .IP \[bu] 2
1168 \f[V]disable\f[R]: (Optional) Turns off all logging and clears the log
1169 configuration.
1170 (BOOLEAN, no default value)
1171 .IP \[bu] 2
1172 \f[V]list\f[R]: (Optional) Lists current log configuration.
1173 (BOOLEAN, no default value)
1174 .IP \[bu] 2
1175 \f[V]rotate\f[R]: (Optional) Rotates all logs.
1176 (BOOLEAN, no default value)
1177 .RE
1178 .TP
1179 \f[V]VM.metaspace\f[R] [\f[I]options\f[R]]
1180 Prints the statistics for the metaspace
1181 .RS
1182 .PP
1183 Impact: Medium --- Depends on number of classes loaded.
1184 .PP
1185 \f[B]Note:\f[R]
1186 .PP
1187 The following \f[I]options\f[R] must be specified using either
1188 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1189 .PP
1190 \f[I]options\f[R]:
1191 .IP \[bu] 2
1192 \f[V]basic\f[R]: (Optional) Prints a basic summary (does not need a
1193 safepoint).
1194 (BOOLEAN, false)
1195 .IP \[bu] 2
1196 \f[V]show-loaders\f[R]: (Optional) Shows usage by class loader.
1197 (BOOLEAN, false)
1198 .IP \[bu] 2
1199 \f[V]show-classes\f[R]: (Optional) If show-loaders is set, shows loaded
1200 classes for each loader.
1201 (BOOLEAN, false)
1202 .IP \[bu] 2
1203 \f[V]by-chunktype\f[R]: (Optional) Break down numbers by chunk type.
1204 (BOOLEAN, false)
1205 .IP \[bu] 2
1206 \f[V]by-spacetype\f[R]: (Optional) Break down numbers by loader type.
1207 (BOOLEAN, false)
1208 .IP \[bu] 2
1209 \f[V]vslist\f[R]: (Optional) Shows details about the underlying virtual
1210 space.
1211 (BOOLEAN, false)
1212 .IP \[bu] 2
1213 \f[V]chunkfreelist\f[R]: (Optional) Shows details about global chunk
1214 free lists (ChunkManager).
1215 (BOOLEAN, false)
1216 .IP \[bu] 2
1217 \f[V]scale\f[R]: (Optional) Memory usage in which to scale.
1218 Valid values are: 1, KB, MB or GB (fixed scale) or \[dq]dynamic\[dq] for
1219 a dynamically chosen scale.
1220 (STRING, dynamic)
1221 .RE
1222 .TP
1223 \f[V]VM.native_memory\f[R] [\f[I]options\f[R]]
1224 Print native memory usage
1225 .RS
1226 .PP
1227 Impact: Medium
1228 .PP
1229 \f[B]Note:\f[R]
1230 .PP
1231 The following \f[I]options\f[R] must be specified using either
1232 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1233 .PP
1234 \f[I]options\f[R]:
1235 .IP \[bu] 2
1236 \f[V]summary\f[R]: (Optional) Requests runtime to report current memory
1237 summary, which includes total reserved and committed memory, along with
1238 memory usage summary by each subsystem.
1239 (BOOLEAN, false)
1240 .IP \[bu] 2
1241 \f[V]detail\f[R]: (Optional) Requests runtime to report memory
1242 allocation >= 1K by each callsite.
1243 (BOOLEAN, false)
1244 .IP \[bu] 2
1245 \f[V]baseline\f[R]: (Optional) Requests runtime to baseline current
1246 memory usage, so it can be compared against in later time.
1247 (BOOLEAN, false)
1248 .IP \[bu] 2
1249 \f[V]summary.diff\f[R]: (Optional) Requests runtime to report memory
1250 summary comparison against previous baseline.
1251 (BOOLEAN, false)
1252 .IP \[bu] 2
1253 \f[V]detail.diff\f[R]: (Optional) Requests runtime to report memory
1254 detail comparison against previous baseline, which shows the memory
1255 allocation activities at different callsites.
1256 (BOOLEAN, false)
1257 .IP \[bu] 2
1258 \f[V]statistics\f[R]: (Optional) Prints tracker statistics for tuning
1259 purpose.
1260 (BOOLEAN, false)
1261 .IP \[bu] 2
1262 \f[V]scale\f[R]: (Optional) Memory usage in which scale, KB, MB or GB
1263 (STRING, KB)
1264 .RE
1265 .TP
1266 \f[V]VM.set_flag\f[R] [\f[I]arguments\f[R]]
1267 Sets VM flag option using the provided value.
1268 .RS
1269 .PP
1270 Impact: Low
1271 .PP
1272 \f[I]arguments\f[R]:
1273 .IP \[bu] 2
1274 \f[I]flag name\f[R]: The name of the flag that you want to set (STRING,
1275 no default value)
1276 .IP \[bu] 2
1277 \f[I]string value\f[R]: (Optional) The value that you want to set
1278 (STRING, no default value)
1279 .RE
1280 .TP
1281 \f[V]VM.stringtable\f[R] [\f[I]options\f[R]]
1282 Dump string table.
1283 .RS
1284 .PP
1285 Impact: Medium --- depends on the Java content.
1286 .PP
1287 \f[B]Note:\f[R]
1288 .PP
1289 The following \f[I]options\f[R] must be specified using either
1290 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1291 .PP
1292 \f[I]options\f[R]:
1293 .IP \[bu] 2
1294 \f[V]-verbose\f[R]: (Optional) Dumps the content of each string in the
1295 table (BOOLEAN, false)
1296 .RE
1297 .TP
1298 \f[V]VM.symboltable\f[R] [\f[I]options\f[R]]
1299 Dump symbol table.
1300 .RS
1301 .PP
1302 Impact: Medium --- depends on the Java content.
1303 .PP
1304 \f[B]Note:\f[R]
1305 .PP
1306 The following \f[I]options\f[R] must be specified using either
1307 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax).
1308 .PP
1309 \f[I]options\f[R]:
1310 .IP \[bu] 2
1311 \f[V]-verbose\f[R]: (Optional) Dumps the content of each symbol in the
1312 table (BOOLEAN, false)
1313 .RE
1314 .TP
1315 \f[V]VM.system_properties\f[R]
1316 Print system properties.
1317 .RS
1318 .PP
1319 Impact: Low
1320 .RE
1321 .TP
1322 \f[V]VM.systemdictionary\f[R]
1323 Prints the statistics for dictionary hashtable sizes and bucket length.
1324 .RS
1325 .PP
1326 Impact: Medium
1327 .PP
1328 \f[B]Note:\f[R]
1329 .PP
1330 The following \f[I]options\f[R] must be specified using either
1331 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1332 .PP
1333 \f[I]options\f[R]:
1334 .IP \[bu] 2
1335 \f[V]verbose\f[R]: (Optional) Dump the content of each dictionary entry
1336 for all class loaders (BOOLEAN, false) .
1337 .RE
1338 .TP
1339 \f[V]VM.uptime\f[R] [\f[I]options\f[R]]
1340 Print VM uptime.
1341 .RS
1342 .PP
1343 Impact: Low
1344 .PP
1345 \f[B]Note:\f[R]
1346 .PP
1347 The following \f[I]options\f[R] must be specified using either
1348 \f[I]key\f[R] or \f[I]key\f[R]\f[V]=\f[R]\f[I]value\f[R] syntax.
1349 .PP
1350 \f[I]options\f[R]:
1351 .IP \[bu] 2
1352 \f[V]-date\f[R]: (Optional) Adds a prefix with the current date
1353 (BOOLEAN, false)
1354 .RE
1355 .TP
1356 \f[V]VM.version\f[R]
1357 Print JVM version information.
1358 .RS
1359 .PP
1360 Impact: Low
1361 .RE