< prev index next >

src/jdk.jcmd/share/man/jcmd.1

Print this page


   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
   1 '\" t
   2 .\" Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved.
   3 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4 .\"
   5 .\" This code is free software; you can redistribute it and/or modify it
   6 .\" under the terms of the GNU General Public License version 2 only, as
   7 .\" published by the Free Software Foundation.
   8 .\"
   9 .\" This code is distributed in the hope that it will be useful, but WITHOUT
  10 .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11 .\" FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12 .\" version 2 for more details (a copy is included in the LICENSE file that
  13 .\" accompanied this code).
  14 .\"
  15 .\" You should have received a copy of the GNU General Public License version
  16 .\" 2 along with this work; if not, write to the Free Software Foundation,
  17 .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18 .\"
  19 .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20 .\" or visit www.oracle.com if you need additional information or have any
  21 .\" questions.
  22 .\"
  23 .\" Title: jcmd
  24 .\" Language: English
  25 .\" Date: 03 March 2015
  26 .\" SectDesc: Troubleshooting Tools
  27 .\" Software: JDK 8
  28 .\" Arch: generic
  29 .\" Part Number: E38207-04
  30 .\" Doc ID: JSSON
  31 .\"
  32 .if n .pl 99999
  33 .TH "jcmd" "1" "03 March 2015" "JDK 8" "Troubleshooting Tools"
  34 .\" -----------------------------------------------------------------
  35 .\" * Define some portability stuff
  36 .\" -----------------------------------------------------------------
  37 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  38 .\" http://bugs.debian.org/507673
  39 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
  40 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  41 .ie \n(.g .ds Aq \(aq
  42 .el       .ds Aq '
  43 .\" -----------------------------------------------------------------
  44 .\" * set default formatting
  45 .\" -----------------------------------------------------------------
  46 .\" disable hyphenation
  47 .nh
  48 .\" disable justification (adjust text to left margin only)
  49 .ad l
  50 .\" -----------------------------------------------------------------
  51 .\" * MAIN CONTENT STARTS HERE *
  52 .\" -----------------------------------------------------------------
  53 .SH "NAME"
  54 jcmd \- Sends diagnostic command requests to a running Java Virtual Machine (JVM)\&.
  55 .SH "SYNOPSIS"
  56 .sp
  57 .if n \{\
  58 .RS 4
  59 .\}
  60 .nf
  61 \fBjcmd\fR [\fB\-l\fR|\fB\-h\fR|\fB\-help\fR]
  62 .fi
  63 .if n \{\
  64 .RE
  65 .\}
  66 .sp
  67 .if n \{\
  68 .RS 4
  69 .\}
  70 .nf
  71 \fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fBPerfCounter\&.print\fR
  72 .fi
  73 .if n \{\
  74 .RE
  75 .\}
  76 .sp
  77 .if n \{\
  78 .RS 4
  79 .\}
  80 .nf
  81 \fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fB\-f\fR \fIfilename\fR
  82 .fi
  83 .if n \{\
  84 .RE
  85 .\}
  86 .sp
  87 .if n \{\
  88 .RS 4
  89 .\}
  90 .nf
  91 \fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fIcommand\fR[ \fIarguments\fR]
  92 .fi
  93 .if n \{\
  94 .RE
  95 .\}
  96 .SH "DESCRIPTION"
  97 .PP
  98 The
  99 \fBjcmd\fR
 100 utility is used to send diagnostic command requests to the JVM\&. It must be used on the same machine on which the JVM is running, and have the same effective user and group identifiers that were used to launch the JVM\&.
 101 .if n \{\
 102 .sp
 103 .\}
 104 .RS 4
 105 .it 1 an-trap
 106 .nr an-no-space-flag 1
 107 .nr an-break-flag 1
 108 .br
 109 .ps +1
 110 \fBNote\fR
 111 .ps -1
 112 .br
 113 .TS
 114 allbox tab(:);
 115 l.
 116 T{
 117 .PP
 118 To invoke diagnostic commands from a remote machine or with different identifiers, you can use the
 119 \fBcom\&.sun\&.management\&.DiagnosticCommandMBean\fR
 120 interface\&. For more information about the
 121 \fBDiagnosticCommandMBean\fR
 122 interface, see the API documentation at http://docs\&.oracle\&.com/javase/8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean\&.html
 123 T}
 124 .TE
 125 .sp 1
 126 .sp .5v
 127 .RE
 128 .PP
 129 If you run
 130 \fBjcmd\fR
 131 without arguments or with the
 132 \fB\-l\fR
 133 option, it prints the list of running Java process identifiers with the main class and command\-line arguments that were used to launch the process\&. Running
 134 \fBjcmd\fR
 135 with the
 136 \fB\-h\fR
 137 or
 138 \fB\-help\fR
 139 option prints the tool\(cqs help message\&.
 140 .PP
 141 If you specify the processes identifier (\fIpid\fR) or the main class (\fImain\-class\fR) as the first argument,
 142 \fBjcmd\fR
 143 sends the diagnostic command request to the Java process with the specified identifier or to all Java processes with the specified name of the main class\&. You can also send the diagnostic command request to all available Java processes by specifying
 144 \fB0\fR
 145 as the process identifier\&. Use one of the following as the diagnostic command request:
 146 .PP
 147 Perfcounter\&.print
 148 .RS 4
 149 Prints the performance counters available for the specified Java process\&. The list of performance counters might vary with the Java process\&.
 150 .RE
 151 .PP
 152 \-f \fIfilename\fR
 153 .RS 4
 154 The name of the file from which to read diagnostic commands and send them to the specified Java process\&. Used only with the
 155 \fB\-f\fR
 156 option\&. Each command in the file must be written on a single line\&. Lines starting with a number sign (\fB#\fR) are ignored\&. Processing of the file ends when all lines have been read or when a line containing the
 157 \fBstop\fR
 158 keyword is read\&.
 159 .RE
 160 .PP
 161 \fIcommand\fR [\fIarguments\fR]
 162 .RS 4
 163 The command to be sent to the specified Java process\&. The list of available diagnostic commands for a given process can be obtained by sending the
 164 \fBhelp\fR
 165 command to this process\&. Each diagnostic command has its own set of arguments\&. To see the description, syntax, and a list of available arguments for a command, use the name of the command as the argument for the
 166 \fBhelp\fR
 167 command\&.
 168 .sp
 169 \fBNote:\fR
 170 If any arguments contain spaces, you must surround them with single or double quotation marks (\fB\*(Aq\fR
 171 or
 172 \fB"\fR)\&. In addition, you must escape single or double quotation marks with a backslash (\fB\e\fR) to prevent the operating system shell from processing quotation marks\&. Alternatively, you can surround these arguments with single quotation marks and then with double quotation marks (or with double quotation marks and then with single quotation marks)\&.
 173 .RE
 174 .SH "OPTIONS"
 175 .PP
 176 Options are mutually exclusive\&.
 177 .PP
 178 \-f \fIfilename\fR
 179 .RS 4
 180 Reads commands from the specified file\&. This option can be used only if you specify the process identifier or the main class as the first argument\&. Each command in the file must be written on a single line\&. Lines starting with a number sign (\fB#\fR) are ignored\&. Processing of the file ends when all lines have been read or when a line containing the
 181 \fBstop\fR
 182 keyword is read\&.
 183 .RE
 184 .PP
 185 \-h
 186 .br
 187 \-help
 188 .RS 4
 189 Prints a help message\&.
 190 .RE
 191 .PP
 192 \-l
 193 .RS 4
 194 Prints the list of running Java processes identifiers with the main class and command\-line arguments\&.
 195 .RE
 196 .SH "SEE ALSO"
 197 .sp
 198 .RS 4
 199 .ie n \{\
 200 \h'-04'\(bu\h'+03'\c
 201 .\}
 202 .el \{\
 203 .sp -1
 204 .IP \(bu 2.3
 205 .\}
 206 jps(1)
 207 .RE
 208 .br
 209 'pl 8.5i
 210 'bp





























































































































































































































































































































































































































































































































































































































































< prev index next >