1 .\" Copyright (c) 1994, 2019, 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.3.1 23 .\" 24 .TH "JCMD" "1" "2018" "JDK 13" "JDK Commands" 25 .hy 26 .SH NAME 27 .PP 28 jcmd \- send diagnostic command requests to a running Java Virtual 29 Machine (JVM) 30 .SH SYNOPSIS 31 .PP 32 \f[CB]jcmd\f[R] [\f[I]pid\f[R] | \f[I]main\-class\f[R]] \f[I]command\f[R]... 33 | \f[CB]PerfCounter.print\f[R] | \f[CB]\-f\f[R] \f[I]filename\f[R] 34 .PP 35 \f[CB]jcmd\f[R] [\f[CB]\-l\f[R]] 36 .PP 37 \f[CB]jcmd\f[R] \f[CB]\-h\f[R] 38 .TP 39 .B \f[I]pid\f[R] 40 When used, the \f[CB]jcmd\f[R] utility sends the diagnostic command 41 request to the process ID for the Java process. 42 .RS 43 .RE 44 .TP 45 .B \f[I]main\-class\f[R] 46 When used, the \f[CB]jcmd\f[R] utility sends the diagnostic command 47 request to all Java processes with the specified name of the main class. 48 .RS 49 .RE 50 .TP 51 .B \f[I]command\f[R] 52 The \f[CB]command\f[R] must be a valid \f[CB]jcmd\f[R] command for the 53 selected JVM. 54 The list of available commands for \f[CB]jcmd\f[R] is obtained by running 55 the \f[CB]help\f[R] command (\f[CB]jcmd\f[R] \f[I]pid\f[R] \f[CB]help\f[R]) 56 where \f[I]pid\f[R] is the process ID for the running Java process. 57 If the \f[I]pid\f[R] is \f[CB]0\f[R], commands will be sent to all Java 58 processes. 59 The main class argument will be used to match, either partially or 60 fully, the class used to start Java. 61 If no options are given, it lists the running Java process identifiers 62 with the main class and command\-line arguments that were used to launch 63 the process (the same as using \f[CB]\-l\f[R]). 64 .RS 65 .RE 66 .TP 67 .B \f[CB]Perfcounter.print\f[R] 68 Prints the performance counters exposed by the specified Java process. 69 .RS 70 .RE 71 .TP 72 .B \f[CB]\-f\f[R] \f[I]filename\f[R] 73 Reads and executes commands from a specified file, \f[I]filename\f[R]. 74 .RS 75 .RE 76 .TP 77 .B \f[CB]\-l\f[R] 78 Displays the list of Java Virtual Machine process identifiers that are 79 not running in a separate docker process along with the main class and 80 command\-line arguments that were used to launch the process. 81 If the JVM is in a docker process, you must use tools such as 82 \f[CB]ps\f[R] to look up the PID. 83 .RS 84 .PP 85 \f[B]Note:\f[R] 86 .PP 87 Using \f[CB]jcmd\f[R] without arguments is the same as using 88 \f[CB]jcmd\ \-l\f[R]. 89 .RE 90 .TP 91 .B \f[CB]\-h\f[R] 92 Displays the\f[CB]jcmd\f[R] utility\[aq]s command\-line help. 93 .RS 94 .RE 95 .SH DESCRIPTION 96 .PP 97 The \f[CB]jcmd\f[R] utility is used to send diagnostic command requests to 98 the JVM. 99 It must be used on the same machine on which the JVM is running, and 100 have the same effective user and group identifiers that were used to 101 launch the JVM. 102 Each diagnostic command has its own set of arguments. 103 To display the description, syntax, and a list of available arguments 104 for a diagnostic command, use the name of the command as the argument. 105 For example: 106 .RS 107 .PP 108 \f[CB]jcmd\f[R] \f[I]pid\f[R] \f[CB]help\f[R] \f[I]command\f[R] 109 .RE 110 .PP 111 If arguments contain spaces, then you must surround them with single or 112 double quotation marks (\f[CB]\[aq]\f[R] or \f[CB]"\f[R]). 113 In addition, you must escape single or double quotation marks with a 114 backslash (\f[CB]\\\f[R]) to prevent the operating system shell from 115 processing quotation marks. 116 Alternatively, you can surround these arguments with single quotation 117 marks and then with double quotation marks (or with double quotation 118 marks and then with single quotation marks). 119 .PP 120 If you specify the process identifier (\f[I]pid\f[R]) or the main class 121 (\f[I]main\-class\f[R]) as the first argument, then the \f[CB]jcmd\f[R] 122 utility sends the diagnostic command request to the Java process with 123 the specified identifier or to all Java processes with the specified 124 name of the main class. 125 You can also send the diagnostic command request to all available Java 126 processes by specifying \f[CB]0\f[R] as the process identifier. 127 .SH COMMANDS FOR JCMD 128 .PP 129 The \f[I]command\f[R] must be a valid \f[CB]jcmd\f[R] diagnostic command 130 for the selected JVM. 131 The list of available commands for \f[CB]jcmd\f[R] is obtained by running 132 the \f[CB]help\f[R] command (\f[CB]jcmd\f[R] \f[I]pid\f[R] \f[CB]help\f[R]) 133 where \f[I]pid\f[R] is the process ID for a running Java process. 134 If the \f[I]pid\f[R] is \f[CB]0\f[R], commands will be sent to all Java 135 processes. 136 The main class argument will be used to match, either partially or 137 fully, the class used to start Java. 138 If no options are given, it lists the running Java process identifiers 139 that are not in separate docker processes along with the main class and 140 command\-line arguments that were used to launch the process (the same 141 as using \f[CB]\-l\f[R]). 142 .PP 143 The following commands are available: 144 .TP 145 .B \f[CB]help\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 146 For more information about a specific command. 147 .RS 148 .PP 149 \f[I]arguments\f[R]: 150 .IP \[bu] 2 151 \f[I]command name\f[R]: The name of the command for which we want help 152 (STRING, no default value) 153 .PP 154 \f[B]Note:\f[R] 155 .PP 156 The following \f[I]options\f[R] must be specified using either 157 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 158 .PP 159 \f[I]options\f[R]: 160 .IP \[bu] 2 161 \f[CB]\-all\f[R]: (Optional) Show help for all commands (BOOLEAN, false) . 162 .RE 163 .TP 164 .B \f[CB]Compiler.codecache\f[R] 165 Prints code cache layout and bounds. 166 .RS 167 .PP 168 Impact: Low 169 .PP 170 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 171 .RE 172 .TP 173 .B \f[CB]Compiler.codelist\f[R] 174 Prints all compiled methods in code cache that are alive. 175 .RS 176 .PP 177 Impact: Medium 178 .PP 179 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 180 .RE 181 .TP 182 .B \f[CB]Compiler.queue\f[R] 183 Prints methods queued for compilation. 184 .RS 185 .PP 186 Impact: Low 187 .PP 188 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 189 .RE 190 .TP 191 .B \f[CB]Compiler.directives_add\ *filename*\ *arguments*\f[R] 192 Adds compiler directives from a file. 193 .RS 194 .PP 195 Impact: Low 196 .PP 197 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 198 .PP 199 \f[I]arguments\f[R]: 200 .PP 201 \f[I]filename\f[R]: The name of the directives file (STRING, no default 202 value) 203 .RE 204 .TP 205 .B \f[CB]Compiler.directives_clear\f[R] 206 Remove all compiler directives. 207 .RS 208 .PP 209 Impact: Low 210 .PP 211 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 212 .RE 213 .TP 214 .B \f[CB]Compiler.directives_print\f[R] 215 Prints all active compiler directives. 216 .RS 217 .PP 218 Impact: Low 219 .PP 220 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 221 .RE 222 .TP 223 .B \f[CB]Compiler.directives_remove\f[R] 224 Remove latest added compiler directive. 225 .RS 226 .PP 227 Impact: Low 228 .PP 229 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 230 .RE 231 .TP 232 .B \f[CB]GC.class_histogram\f[R] [\f[I]options\f[R]] 233 Provides statistics about the Java heap usage. 234 .RS 235 .PP 236 Impact: High \-\-\- depends on Java heap size and content. 237 .PP 238 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 239 .PP 240 \f[B]Note:\f[R] 241 .PP 242 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 243 \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 244 .PP 245 \f[I]options\f[R]: 246 .IP \[bu] 2 247 \f[CB]\-all\f[R]: (Optional) Inspects all objects, including unreachable 248 objects (BOOLEAN, false) 249 .RE 250 .TP 251 .B \f[CB]GC.class_stats\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 252 Provide statistics about Java class meta data. 253 .RS 254 .PP 255 Impact: High \-\-\- depends on Java heap size and content. 256 .PP 257 \f[B]Note:\f[R] 258 .PP 259 The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or 260 \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 261 .PP 262 \f[I]options\f[R]: 263 .IP \[bu] 2 264 \f[CB]\-all\f[R]: (Optional) Shows all columns (BOOLEAN, false) 265 .IP \[bu] 2 266 \f[CB]\-csv\f[R]: (Optional) Prints in CSV (comma\-separated values) 267 format for spreadsheets (BOOLEAN, false) 268 .IP \[bu] 2 269 \f[CB]\-help\f[R]: (Optional) Shows the meaning of all the columns 270 (BOOLEAN, false) 271 .PP 272 \f[I]arguments\f[R]: 273 .IP \[bu] 2 274 \f[I]columns\f[R]: (Optional) Comma\-separated list of all the columns to 275 be shown. 276 If not specified, the following columns are shown: 277 .RS 2 278 .IP \[bu] 2 279 InstBytes 280 .IP \[bu] 2 281 KlassBytes 282 .IP \[bu] 2 283 CpAll 284 .IP \[bu] 2 285 annotations 286 .IP \[bu] 2 287 MethodCount 288 .IP \[bu] 2 289 Bytecodes 290 .IP \[bu] 2 291 MethodAll 292 .IP \[bu] 2 293 ROAll 294 .IP \[bu] 2 295 RWAll 296 .IP \[bu] 2 297 Total 298 .PP 299 (STRING, no default value) 300 .RE 301 .RE 302 .TP 303 .B \f[CB]GC.finalizer_info\f[R] 304 Provides information about the Java finalization queue. 305 .RS 306 .PP 307 Impact: Medium 308 .PP 309 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 310 .RE 311 .TP 312 .B \f[CB]GC.heap_dump\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 313 Generates a HPROF format dump of the Java heap. 314 .RS 315 .PP 316 Impact: High \-\-\- depends on the Java heap size and content. 317 Request a full GC unless the \f[CB]\-all\f[R] option is specified. 318 .PP 319 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 320 .PP 321 \f[B]Note:\f[R] 322 .PP 323 The following \f[I]options\f[R] must be specified using either 324 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 325 .PP 326 \f[I]options\f[R]: 327 .IP \[bu] 2 328 \f[CB]\-all\f[R]: (Optional) Dump all objects, including unreachable 329 objects (BOOLEAN, false) 330 .PP 331 \f[I]arguments\f[R]: 332 .IP \[bu] 2 333 \f[I]filename\f[R]: The name of the dump file (STRING, no default value) 334 .RE 335 .TP 336 .B \f[CB]GC.heap_info\f[R] 337 Provides generic Java heap information. 338 .RS 339 .PP 340 Impact: Medium 341 .PP 342 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 343 .RE 344 .TP 345 .B \f[CB]GC.run\f[R] 346 Calls \f[CB]java.lang.System.gc()\f[R]. 347 .RS 348 .PP 349 Impact: Medium \-\-\- depends on the Java heap size and content. 350 .RE 351 .TP 352 .B \f[CB]GC.run_finalization\f[R] 353 Calls \f[CB]java.lang.System.runFinalization()\f[R]. 354 .RS 355 .PP 356 Impact: Medium \-\-\- depends on the Java content. 357 .RE 358 .TP 359 .B \f[CB]JFR.check\f[R] [\f[I]options\f[R]] 360 See \f[B]JFR.check\f[R] 361 [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-DA391CC1\-B5D8\-44F1\-AEDD\-9A534C8DD009] 362 in the Java Flight Recorder Command Reference. 363 .RS 364 .RE 365 .TP 366 .B \f[CB]JFR.configure\f[R] [\f[I]options\f[R]] 367 See \f[B]JFR.configure\f[R] 368 [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-737D234E\-FD69\-4E8E\-A9F7\-06AE073648DD] 369 in the Java Flight Recorder Command Reference. 370 .RS 371 .RE 372 .TP 373 .B \f[CB]JFR.dump\f[R] [\f[I]options\f[R]] 374 See \f[B]JFR.dump\f[R] 375 [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-6EB11926\-4DAF\-4B99\-AF20\-7FCD284EE6C1] 376 in the Java Flight Recorder Command Reference. 377 .RS 378 .RE 379 .TP 380 .B \f[CB]JFR.start\f[R] [\f[I]options\f[R]] 381 See \f[B]JFR.start\f[R] 382 [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-8DC13618\-1515\-4479\-B0FC\-9F4394BE5455] 383 in the Java Flight Recorder Command Reference. 384 .RS 385 .RE 386 .TP 387 .B \f[CB]JFR.stop\f[R] [\f[I]options\f[R]] 388 See \f[B]JFR.stop\f[R] 389 [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-66CC94C8\-8EDF\-4BB6\-8E7A\-49973025D4D9] 390 in the Java Flight Recorder Command Reference. 391 .RS 392 .RE 393 .TP 394 .B \f[CB]JVMTI.agent_load\f[R] [\f[I]arguments\f[R]] 395 Loads JVMTI native agent. 396 .RS 397 .PP 398 Impact: Low 399 .PP 400 Permission: \f[CB]java.lang.management.ManagementPermission(control)\f[R] 401 .PP 402 \f[I]arguments\f[R]: 403 .IP \[bu] 2 404 \f[I]library path\f[R]: Absolute path of the JVMTI agent to load. 405 (STRING, no default value) 406 .IP \[bu] 2 407 \f[I]agent option\f[R]: (Optional) Option string to pass the agent. 408 (STRING, no default value) 409 .RE 410 .TP 411 .B \f[CB]JVMTI.data_dump\f[R] 412 Signals the JVM to do a data\-dump request for JVMTI. 413 .RS 414 .PP 415 Impact: High 416 .PP 417 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 418 .RE 419 .TP 420 .B \f[CB]ManagementAgent.start\f[R] [\f[I]options\f[R]] 421 Starts remote management agent. 422 .RS 423 .PP 424 Impact: Low \-\-\- no impact 425 .PP 426 \f[B]Note:\f[R] 427 .PP 428 The following \f[I]options\f[R] must be specified using either 429 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 430 .PP 431 \f[I]options\f[R]: 432 .IP \[bu] 2 433 \f[CB]config.file\f[R]: (Optional) Sets 434 \f[CB]com.sun.management.config.file\f[R] (STRING, no default value) 435 .IP \[bu] 2 436 \f[CB]jmxremote.host\f[R]: (Optional) Sets 437 \f[CB]com.sun.management.jmxremote.host\f[R] (STRING, no default value) 438 .IP \[bu] 2 439 \f[CB]jmxremote.port\f[R]: (Optional) Sets 440 \f[CB]com.sun.management.jmxremote.port\f[R] (STRING, no default value) 441 .IP \[bu] 2 442 \f[CB]jmxremote.rmi.port\f[R]: (Optional) Sets 443 \f[CB]com.sun.management.jmxremote.rmi.port\f[R] (STRING, no default 444 value) 445 .IP \[bu] 2 446 \f[CB]jmxremote.ssl\f[R]: (Optional) Sets 447 \f[CB]com.sun.management.jmxremote.ssl\f[R] (STRING, no default value) 448 .IP \[bu] 2 449 \f[CB]jmxremote.registry.ssl\f[R]: (Optional) Sets 450 \f[CB]com.sun.management.jmxremote.registry.ssl\f[R] (STRING, no default 451 value) 452 .IP \[bu] 2 453 \f[CB]jmxremote.authenticate\f[R]: (Optional) Sets 454 \f[CB]com.sun.management.jmxremote.authenticate\f[R] (STRING, no default 455 value) 456 .IP \[bu] 2 457 jmxremote.password.file: (Optional) Sets 458 \f[CB]com.sun.management.jmxremote.password.file\f[R] (STRING, no default 459 value) 460 .IP \[bu] 2 461 \f[CB]jmxremote.access.file\f[R]: (Optional) Sets 462 \f[CB]com.sun.management.jmxremote.acce\ ss.file\f[R] (STRING, no default 463 value) 464 .IP \[bu] 2 465 \f[CB]jmxremote.login.config\f[R]: (Optional) Sets 466 \f[CB]com.sun.management.jmxremote.log\ in.config\f[R] (STRING, no default 467 value) 468 .IP \[bu] 2 469 \f[CB]jmxremote.ssl.enabled.cipher.suites\f[R]: (Optional) Sets 470 \f[CB]com.sun.management\f[R]. 471 .IP \[bu] 2 472 \f[CB]jmxremote.ssl.enabled.cipher.suite\f[R]: (STRING, no default value) 473 .IP \[bu] 2 474 \f[CB]jmxremote.ssl.enabled.protocols\f[R]: (Optional) Sets 475 \f[CB]com.sun.management.jmxr\ emote.ssl.enabled.protocols\f[R] (STRING, 476 no default value) 477 .IP \[bu] 2 478 \f[CB]jmxremote.ssl.need.client.auth\f[R]: (Optional) Sets 479 \f[CB]com.sun.management.jmxre\ mote.need.client.auth\f[R] (STRING, no 480 default value) 481 .IP \[bu] 2 482 \f[CB]jmxremote.ssl.config.file\f[R]: (Optional) Sets 483 \f[CB]com.sun.management.jmxremote.\ ssl_config_file\f[R] (STRING, no 484 default value) 485 .IP \[bu] 2 486 \f[CB]jmxremote.autodiscovery\f[R]: (Optional) Sets 487 \f[CB]com.sun.management.jmxremote.au\ todiscovery\f[R] (STRING, no 488 default value) 489 .IP \[bu] 2 490 \f[CB]jdp.port\f[R]: (Optional) Sets \f[CB]com.sun.management.jdp.port\f[R] 491 (INT, no default value) 492 .IP \[bu] 2 493 \f[CB]jdp.address\f[R]: (Optional) Sets 494 \f[CB]com.sun.management.jdp.address\f[R] (STRING, no default value) 495 .IP \[bu] 2 496 \f[CB]jdp.source_addr\f[R]: (Optional) Sets 497 \f[CB]com.sun.management.jdp.source_addr\f[R] (STRING, no default value) 498 .IP \[bu] 2 499 \f[CB]jdp.ttl\f[R]: (Optional) Sets \f[CB]com.sun.management.jdp.ttl\f[R] 500 (INT, no default value) 501 .IP \[bu] 2 502 \f[CB]jdp.pause\f[R]: (Optional) Sets 503 \f[CB]com.sun.management.jdp.pause\f[R] (INT, no default value) 504 .IP \[bu] 2 505 \f[CB]jdp.name\f[R]: (Optional) Sets \f[CB]com.sun.management.jdp.name\f[R] 506 (STRING, no default value) 507 .RE 508 .TP 509 .B \f[CB]ManagementAgent.start_local\f[R] 510 Starts the local management agent. 511 .RS 512 .PP 513 Impact: Low \-\-\- no impact 514 .RE 515 .TP 516 .B \f[CB]ManagementAgent.status\f[R] 517 Print the management agent status. 518 .RS 519 .PP 520 Impact: Low \-\-\- no impact 521 .PP 522 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 523 .RE 524 .TP 525 .B \f[CB]ManagementAgent.stop\f[R] 526 Stops the remote management agent. 527 .RS 528 .PP 529 Impact: Low \-\-\- no impact 530 .RE 531 .TP 532 .B \f[CB]Thread.print\f[R] [\f[I]options\f[R]] 533 Prints all threads with stacktraces. 534 .RS 535 .PP 536 Impact: Medium \-\-\- depends on the number of threads. 537 .PP 538 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 539 .PP 540 \f[B]Note:\f[R] 541 .PP 542 The following \f[I]options\f[R] must be specified using either 543 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 544 .PP 545 \f[I]options\f[R]: 546 .IP \[bu] 2 547 \f[CB]\-l\f[R]: (Optional) Prints \f[CB]java.util.concurrent\f[R] locks 548 (BOOLEAN, false) 549 .RE 550 .TP 551 .B \f[CB]VM.classloader_stats\f[R] 552 Prints statistics about all ClassLoaders. 553 .RS 554 .PP 555 Impact: Low 556 .PP 557 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 558 .RE 559 .TP 560 .B \f[CB]VM.class_hierarchy\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] 561 Prints a list of all loaded classes, indented to show the class 562 hierarchy. 563 The name of each class is followed by the ClassLoaderData* of its 564 ClassLoader, or "null" if it is loaded by the bootstrap class loader. 565 .RS 566 .PP 567 Impact: Medium \-\-\- depends on the number of loaded classes. 568 .PP 569 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 570 .PP 571 \f[B]Note:\f[R] 572 .PP 573 The following \f[I]options\f[R] must be specified using either 574 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 575 .PP 576 \f[I]options\f[R]: 577 .IP \[bu] 2 578 \f[CB]\-i\f[R]: (Optional) Inherited interfaces should be printed. 579 (BOOLEAN, false) 580 .IP \[bu] 2 581 \f[CB]\-s\f[R]: (Optional) If a class name is specified, it prints the 582 subclasses. 583 If the class name is not specified, only the superclasses are printed. 584 (BOOLEAN, false) 585 .PP 586 \f[I]arguments\f[R]: 587 .IP \[bu] 2 588 \f[I]classname\f[R]: (Optional) The name of the class whose hierarchy 589 should be printed. 590 If not specified, all class hierarchies are printed. 591 (STRING, no default value) 592 .RE 593 .TP 594 .B \f[CB]VM.command_line\f[R] 595 Prints the command line used to start this VM instance. 596 .RS 597 .PP 598 Impact: Low 599 .PP 600 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 601 .RE 602 .TP 603 .B \f[CB]VM.dynlibs\f[R] 604 Prints the loaded dynamic libraries. 605 .RS 606 .PP 607 Impact: Low 608 .PP 609 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 610 .RE 611 .TP 612 .B \f[CB]VM.info\f[R] 613 Prints information about the JVM environment and status. 614 .RS 615 .PP 616 Impact: Low 617 .PP 618 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 619 .RE 620 .TP 621 .B \f[CB]VM.log\f[R] [\f[I]options\f[R]] 622 Lists current log configuration, enables/disables/configures a log 623 output, or ro tates all logs. 624 .RS 625 .PP 626 Impact: Low 627 .PP 628 Permission: \f[CB]java.lang.management.ManagementPermission(control)\f[R] 629 .PP 630 \f[I]options\f[R]: 631 .PP 632 \f[B]Note:\f[R] 633 .PP 634 The following \f[I]options\f[R] must be specified using either 635 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 636 .IP \[bu] 2 637 \f[CB]output\f[R]: (Optional) The name or index (#) of output to 638 configure. 639 (STRING, no default value) 640 .IP \[bu] 2 641 \f[CB]output_options\f[R]: (Optional) Options for the output. 642 (STRING, no default value) 643 .IP \[bu] 2 644 \f[CB]what\f[R]: (Optional) Configures what tags to log. 645 (STRING, no default value ) 646 .IP \[bu] 2 647 \f[CB]decorators\f[R]: (Optional) Configures which decorators to use. 648 Use \[aq]none\[aq] or an empty value to remove all. 649 (STRING, no default value) 650 .IP \[bu] 2 651 \f[CB]disable\f[R]: (Optional) Turns off all logging and clears the log 652 configuration. 653 (BOOLEAN, no default value) 654 .IP \[bu] 2 655 \f[CB]list\f[R]: (Optional) Lists current log configuration. 656 (BOOLEAN, no default value) 657 .IP \[bu] 2 658 \f[CB]rotate\f[R]: (Optional) Rotates all logs. 659 (BOOLEAN, no default value) 660 .RE 661 .TP 662 .B \f[CB]VM.flags\f[R] [\f[I]options\f[R]] 663 Prints the VM flag options and their current values. 664 .RS 665 .PP 666 Impact: Low 667 .PP 668 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 669 .PP 670 \f[B]Note:\f[R] 671 .PP 672 The following \f[I]options\f[R] must be specified using either 673 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 674 .PP 675 \f[I]options\f[R]: 676 .IP \[bu] 2 677 \f[CB]\-all\f[R]: (Optional) Prints all flags supported by the VM 678 (BOOLEAN, false). 679 .RE 680 .TP 681 .B \f[CB]VM.native_memory\f[R] [\f[I]options\f[R]] 682 Prints native memory usage 683 .RS 684 .PP 685 Impact: Medium 686 .PP 687 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 688 .PP 689 \f[B]Note:\f[R] 690 .PP 691 The following \f[I]options\f[R] must be specified using either 692 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 693 .PP 694 \f[I]options\f[R]: 695 .IP \[bu] 2 696 \f[CB]summary\f[R]: (Optional) Requests runtime to report current memory 697 summary, which includes total reserved and committed memory, along with 698 memory usage summary by each subsystem. 699 (BOOLEAN, false) 700 .IP \[bu] 2 701 \f[CB]detail\f[R]: (Optional) Requests runtime to report memory allocation 702 >= 1K by each callsite. 703 (BOOLEAN, false) 704 .IP \[bu] 2 705 \f[CB]baseline\f[R]: (Optional) Requests runtime to baseline current 706 memory usage, so it can be compared against in later time. 707 (BOOLEAN, false) 708 .IP \[bu] 2 709 \f[CB]summary.diff\f[R]: (Optional) Requests runtime to report memory 710 summary comparison against previous baseline. 711 (BOOLEAN, false) 712 .IP \[bu] 2 713 \f[CB]detail.diff\f[R]: (Optional) Requests runtime to report memory 714 detail comparison against previous baseline, which shows the memory 715 allocation activities at different callsites. 716 (BOOLEAN, false) 717 .IP \[bu] 2 718 \f[CB]shutdown\f[R]: (Optional) Requests runtime to shutdown itself and 719 free the memory used by runtime. 720 (BOOLEAN, false) 721 .IP \[bu] 2 722 \f[CB]statistics\f[R]: (Optional) Prints tracker statistics for tuning 723 purpose. 724 (BOOLEAN, false) 725 .IP \[bu] 2 726 \f[CB]scale\f[R]: (Optional) Memory usage in which scale, KB, MB or GB 727 (STRING, KB) 728 .RE 729 .TP 730 .B \f[CB]VM.print_touched_methods\f[R] 731 Prints all methods that have ever been touched during the lifetime of 732 this JVM. 733 .RS 734 .PP 735 Impact: Medium \-\-\- depends on Java content. 736 .RE 737 .TP 738 .B \f[CB]VM.set_flag\f[R] [\f[I]arguments\f[R]] 739 Sets the VM flag option by using the provided value. 740 .RS 741 .PP 742 Impact: Low 743 .PP 744 Permission: \f[CB]java.lang.management.ManagementPermission(control)\f[R] 745 .PP 746 \f[I]arguments\f[R]: 747 .IP \[bu] 2 748 \f[I]flag name\f[R]: The name of the flag that you want to set (STRING, 749 no default value) 750 .IP \[bu] 2 751 \f[I]string value\f[R]: (Optional) The value that you want to set 752 (STRING, no default value) 753 .RE 754 .TP 755 .B \f[CB]VM.stringtable\f[R] [\f[I]options\f[R]] 756 Dumps the string table. 757 .RS 758 .PP 759 Impact: Medium \-\-\- depends on the Java content. 760 .PP 761 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 762 .PP 763 \f[B]Note:\f[R] 764 .PP 765 The following \f[I]options\f[R] must be specified using either 766 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 767 .PP 768 \f[I]options\f[R]: 769 .IP \[bu] 2 770 \f[CB]\-verbose\f[R]: (Optional) Dumps the content of each string in the 771 table (BOOLEAN, false) 772 .RE 773 .TP 774 .B \f[CB]VM.symboltable\f[R] [\f[I]options\f[R]] 775 Dumps the symbol table. 776 .RS 777 .PP 778 Impact: Medium \-\-\- depends on the Java content. 779 .PP 780 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 781 .PP 782 \f[B]Note:\f[R] 783 .PP 784 The following \f[I]options\f[R] must be specified using either 785 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax). 786 .PP 787 \f[I]options\f[R]: 788 .IP \[bu] 2 789 \f[CB]\-verbose\f[R]: (Optional) Dumps the content of each symbol in the 790 table (BOOLEAN, false) 791 .RE 792 .TP 793 .B \f[CB]VM.systemdictionary\f[R] 794 Prints the statistics for dictionary hashtable sizes and bucket length. 795 .RS 796 .PP 797 Impact: Medium 798 .PP 799 Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] 800 .PP 801 \f[B]Note:\f[R] 802 .PP 803 The following \f[I]options\f[R] must be specified using either 804 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 805 .PP 806 \f[I]options\f[R]: 807 .IP \[bu] 2 808 \f[CB]verbose\f[R]: (Optional) Dump the content of each dictionary entry 809 for all class loaders (BOOLEAN, false) . 810 .RE 811 .TP 812 .B \f[CB]VM.system_properties\f[R] 813 Prints the system properties. 814 .RS 815 .PP 816 Impact: Low 817 .PP 818 Permission: \f[CB]java.util.PropertyPermission(*,\ read)\f[R] 819 .RE 820 .TP 821 .B \f[CB]VM.uptime\f[R] [\f[I]options\f[R]] 822 Prints the VM uptime. 823 .RS 824 .PP 825 Impact: Low 826 .PP 827 \f[B]Note:\f[R] 828 .PP 829 The following \f[I]options\f[R] must be specified using either 830 \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. 831 .PP 832 \f[I]options\f[R]: 833 .IP \[bu] 2 834 \f[CB]\-date\f[R]: (Optional) Adds a prefix with the current date 835 (BOOLEAN, false) 836 .RE 837 .TP 838 .B \f[CB]VM.version\f[R] 839 Prints JVM version information. 840 .RS 841 .PP 842 Impact: Low 843 .PP 844 Permission: 845 \f[CB]java.util.PropertyPermission(java.vm.version,\ read)\f[R] 846 .RE