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