< prev index next >

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

Print this page

        

*** 1,6 **** ! .\" Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. --- 1,7 ---- ! '\" t ! .\" Copyright (c) 2012, 2015, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation.
*** 17,846 **** .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" ! .\" Automatically generated by Pandoc 2.3.1 ! .\" ! .TH "JCMD" "1" "2018" "JDK 13" "JDK Commands" ! .hy ! .SH NAME ! .PP ! jcmd \- send diagnostic command requests to a running Java Virtual ! Machine (JVM) ! .SH SYNOPSIS ! .PP ! \f[CB]jcmd\f[R] [\f[I]pid\f[R] | \f[I]main\-class\f[R]] \f[I]command\f[R]... ! | \f[CB]PerfCounter.print\f[R] | \f[CB]\-f\f[R] \f[I]filename\f[R] ! .PP ! \f[CB]jcmd\f[R] [\f[CB]\-l\f[R]] ! .PP ! \f[CB]jcmd\f[R] \f[CB]\-h\f[R] ! .TP ! .B \f[I]pid\f[R] ! When used, the \f[CB]jcmd\f[R] utility sends the diagnostic command ! request to the process ID for the Java process. ! .RS ! .RE ! .TP ! .B \f[I]main\-class\f[R] ! When used, the \f[CB]jcmd\f[R] utility sends the diagnostic command ! request to all Java processes with the specified name of the main class. ! .RS ! .RE ! .TP ! .B \f[I]command\f[R] ! The \f[CB]command\f[R] must be a valid \f[CB]jcmd\f[R] command for the ! selected JVM. ! The list of available commands for \f[CB]jcmd\f[R] is obtained by running ! the \f[CB]help\f[R] command (\f[CB]jcmd\f[R] \f[I]pid\f[R] \f[CB]help\f[R]) ! where \f[I]pid\f[R] is the process ID for the running Java process. ! If the \f[I]pid\f[R] is \f[CB]0\f[R], commands will be sent to all Java ! processes. ! The main class argument will be used to match, either partially or ! fully, the class used to start Java. ! If no options are given, it lists the running Java process identifiers ! with the main class and command\-line arguments that were used to launch ! the process (the same as using \f[CB]\-l\f[R]). ! .RS ! .RE ! .TP ! .B \f[CB]Perfcounter.print\f[R] ! Prints the performance counters exposed by the specified Java process. ! .RS ! .RE ! .TP ! .B \f[CB]\-f\f[R] \f[I]filename\f[R] ! Reads and executes commands from a specified file, \f[I]filename\f[R]. ! .RS ! .RE ! .TP ! .B \f[CB]\-l\f[R] ! Displays the list of Java Virtual Machine process identifiers that are ! not running in a separate docker process along with the main class and ! command\-line arguments that were used to launch the process. ! If the JVM is in a docker process, you must use tools such as ! \f[CB]ps\f[R] to look up the PID. ! .RS ! .PP ! \f[B]Note:\f[R] ! .PP ! Using \f[CB]jcmd\f[R] without arguments is the same as using ! \f[CB]jcmd\ \-l\f[R]. ! .RE ! .TP ! .B \f[CB]\-h\f[R] ! Displays the\f[CB]jcmd\f[R] utility\[aq]s command\-line help. ! .RS ! .RE ! .SH DESCRIPTION ! .PP ! The \f[CB]jcmd\f[R] 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. ! Each diagnostic command has its own set of arguments. ! To display the description, syntax, and a list of available arguments ! for a diagnostic command, use the name of the command as the argument. ! For example: ! .RS ! .PP ! \f[CB]jcmd\f[R] \f[I]pid\f[R] \f[CB]help\f[R] \f[I]command\f[R] ! .RE ! .PP ! If arguments contain spaces, then you must surround them with single or ! double quotation marks (\f[CB]\[aq]\f[R] or \f[CB]"\f[R]). ! In addition, you must escape single or double quotation marks with a ! backslash (\f[CB]\\\f[R]) 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). ! .PP ! If you specify the process identifier (\f[I]pid\f[R]) or the main class ! (\f[I]main\-class\f[R]) as the first argument, then the \f[CB]jcmd\f[R] ! utility 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 \f[CB]0\f[R] as the process identifier. ! .SH COMMANDS FOR JCMD ! .PP ! The \f[I]command\f[R] must be a valid \f[CB]jcmd\f[R] diagnostic command ! for the selected JVM. ! The list of available commands for \f[CB]jcmd\f[R] is obtained by running ! the \f[CB]help\f[R] command (\f[CB]jcmd\f[R] \f[I]pid\f[R] \f[CB]help\f[R]) ! where \f[I]pid\f[R] is the process ID for a running Java process. ! If the \f[I]pid\f[R] is \f[CB]0\f[R], commands will be sent to all Java ! processes. ! The main class argument will be used to match, either partially or ! fully, the class used to start Java. ! If no options are given, it lists the running Java process identifiers ! that are not in separate docker processes along with the main class and ! command\-line arguments that were used to launch the process (the same ! as using \f[CB]\-l\f[R]). ! .PP ! The following commands are available: ! .TP ! .B \f[CB]help\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] ! For more information about a specific command. ! .RS ! .PP ! \f[I]arguments\f[R]: ! .IP \[bu] 2 ! \f[I]command name\f[R]: The name of the command for which we want help ! (STRING, no default value) ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-all\f[R]: (Optional) Show help for all commands (BOOLEAN, false) . ! .RE ! .TP ! .B \f[CB]Compiler.codecache\f[R] ! Prints code cache layout and bounds. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]Compiler.codelist\f[R] ! Prints all compiled methods in code cache that are alive. ! .RS ! .PP ! Impact: Medium ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]Compiler.queue\f[R] ! Prints methods queued for compilation. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]Compiler.directives_add\ *filename*\ *arguments*\f[R] ! Adds compiler directives from a file. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[I]arguments\f[R]: ! .PP ! \f[I]filename\f[R]: The name of the directives file (STRING, no default ! value) ! .RE ! .TP ! .B \f[CB]Compiler.directives_clear\f[R] ! Remove all compiler directives. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]Compiler.directives_print\f[R] ! Prints all active compiler directives. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]Compiler.directives_remove\f[R] ! Remove latest added compiler directive. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]GC.class_histogram\f[R] [\f[I]options\f[R]] ! Provides statistics about the Java heap usage. ! .RS ! .PP ! Impact: High \-\-\- depends on Java heap size and content. ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or ! \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-all\f[R]: (Optional) Inspects all objects, including unreachable ! objects (BOOLEAN, false) ! .RE ! .TP ! .B \f[CB]GC.class_stats\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] ! Provide statistics about Java class meta data. ! .RS ! .PP ! Impact: High \-\-\- depends on Java heap size and content. ! .PP ! \f[B]Note:\f[R] ! .PP ! The \f[I]options\f[R] must be specified using either \f[I]key\f[R] or ! \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-all\f[R]: (Optional) Shows all columns (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]\-csv\f[R]: (Optional) Prints in CSV (comma\-separated values) ! format for spreadsheets (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]\-help\f[R]: (Optional) Shows the meaning of all the columns ! (BOOLEAN, false) ! .PP ! \f[I]arguments\f[R]: ! .IP \[bu] 2 ! \f[I]columns\f[R]: (Optional) Comma\-separated list of all the columns to ! be shown. ! If not specified, the following columns are shown: ! .RS 2 ! .IP \[bu] 2 ! InstBytes ! .IP \[bu] 2 ! KlassBytes ! .IP \[bu] 2 ! CpAll ! .IP \[bu] 2 ! annotations ! .IP \[bu] 2 ! MethodCount ! .IP \[bu] 2 ! Bytecodes ! .IP \[bu] 2 ! MethodAll ! .IP \[bu] 2 ! ROAll ! .IP \[bu] 2 ! RWAll ! .IP \[bu] 2 ! Total ! .PP ! (STRING, no default value) ! .RE ! .RE ! .TP ! .B \f[CB]GC.finalizer_info\f[R] ! Provides information about the Java finalization queue. ! .RS ! .PP ! Impact: Medium ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]GC.heap_dump\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] ! Generates a HPROF format dump of the Java heap. ! .RS ! .PP ! Impact: High \-\-\- depends on the Java heap size and content. ! Request a full GC unless the \f[CB]\-all\f[R] option is specified. ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-all\f[R]: (Optional) Dump all objects, including unreachable ! objects (BOOLEAN, false) ! .PP ! \f[I]arguments\f[R]: ! .IP \[bu] 2 ! \f[I]filename\f[R]: The name of the dump file (STRING, no default value) ! .RE ! .TP ! .B \f[CB]GC.heap_info\f[R] ! Provides generic Java heap information. ! .RS ! .PP ! Impact: Medium ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]GC.run\f[R] ! Calls \f[CB]java.lang.System.gc()\f[R]. ! .RS ! .PP ! Impact: Medium \-\-\- depends on the Java heap size and content. ! .RE ! .TP ! .B \f[CB]GC.run_finalization\f[R] ! Calls \f[CB]java.lang.System.runFinalization()\f[R]. ! .RS ! .PP ! Impact: Medium \-\-\- depends on the Java content. ! .RE ! .TP ! .B \f[CB]JFR.check\f[R] [\f[I]options\f[R]] ! See \f[B]JFR.check\f[R] ! [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-DA391CC1\-B5D8\-44F1\-AEDD\-9A534C8DD009] ! in the Java Flight Recorder Command Reference. ! .RS ! .RE ! .TP ! .B \f[CB]JFR.configure\f[R] [\f[I]options\f[R]] ! See \f[B]JFR.configure\f[R] ! [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-737D234E\-FD69\-4E8E\-A9F7\-06AE073648DD] ! in the Java Flight Recorder Command Reference. ! .RS ! .RE ! .TP ! .B \f[CB]JFR.dump\f[R] [\f[I]options\f[R]] ! See \f[B]JFR.dump\f[R] ! [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-6EB11926\-4DAF\-4B99\-AF20\-7FCD284EE6C1] ! in the Java Flight Recorder Command Reference. ! .RS ! .RE ! .TP ! .B \f[CB]JFR.start\f[R] [\f[I]options\f[R]] ! See \f[B]JFR.start\f[R] ! [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-8DC13618\-1515\-4479\-B0FC\-9F4394BE5455] ! in the Java Flight Recorder Command Reference. ! .RS ! .RE ! .TP ! .B \f[CB]JFR.stop\f[R] [\f[I]options\f[R]] ! See \f[B]JFR.stop\f[R] ! [https://www.oracle.com/pls/topic/lookup?ctx=en/java/javase/11/tools&id=JFRCR\-GUID\-66CC94C8\-8EDF\-4BB6\-8E7A\-49973025D4D9] ! in the Java Flight Recorder Command Reference. ! .RS ! .RE ! .TP ! .B \f[CB]JVMTI.agent_load\f[R] [\f[I]arguments\f[R]] ! Loads JVMTI native agent. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(control)\f[R] ! .PP ! \f[I]arguments\f[R]: ! .IP \[bu] 2 ! \f[I]library path\f[R]: Absolute path of the JVMTI agent to load. ! (STRING, no default value) ! .IP \[bu] 2 ! \f[I]agent option\f[R]: (Optional) Option string to pass the agent. ! (STRING, no default value) ! .RE ! .TP ! .B \f[CB]JVMTI.data_dump\f[R] ! Signals the JVM to do a data\-dump request for JVMTI. ! .RS ! .PP ! Impact: High ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]ManagementAgent.start\f[R] [\f[I]options\f[R]] ! Starts remote management agent. ! .RS ! .PP ! Impact: Low \-\-\- no impact ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]config.file\f[R]: (Optional) Sets ! \f[CB]com.sun.management.config.file\f[R] (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.host\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.host\f[R] (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.port\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.port\f[R] (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.rmi.port\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.rmi.port\f[R] (STRING, no default ! value) ! .IP \[bu] 2 ! \f[CB]jmxremote.ssl\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.ssl\f[R] (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.registry.ssl\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.registry.ssl\f[R] (STRING, no default ! value) ! .IP \[bu] 2 ! \f[CB]jmxremote.authenticate\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.authenticate\f[R] (STRING, no default ! value) ! .IP \[bu] 2 ! jmxremote.password.file: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.password.file\f[R] (STRING, no default ! value) ! .IP \[bu] 2 ! \f[CB]jmxremote.access.file\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.acce\ ss.file\f[R] (STRING, no default ! value) ! .IP \[bu] 2 ! \f[CB]jmxremote.login.config\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.log\ in.config\f[R] (STRING, no default ! value) ! .IP \[bu] 2 ! \f[CB]jmxremote.ssl.enabled.cipher.suites\f[R]: (Optional) Sets ! \f[CB]com.sun.management\f[R]. ! .IP \[bu] 2 ! \f[CB]jmxremote.ssl.enabled.cipher.suite\f[R]: (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.ssl.enabled.protocols\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxr\ emote.ssl.enabled.protocols\f[R] (STRING, ! no default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.ssl.need.client.auth\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxre\ mote.need.client.auth\f[R] (STRING, no ! default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.ssl.config.file\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.\ ssl_config_file\f[R] (STRING, no ! default value) ! .IP \[bu] 2 ! \f[CB]jmxremote.autodiscovery\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jmxremote.au\ todiscovery\f[R] (STRING, no ! default value) ! .IP \[bu] 2 ! \f[CB]jdp.port\f[R]: (Optional) Sets \f[CB]com.sun.management.jdp.port\f[R] ! (INT, no default value) ! .IP \[bu] 2 ! \f[CB]jdp.address\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jdp.address\f[R] (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]jdp.source_addr\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jdp.source_addr\f[R] (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]jdp.ttl\f[R]: (Optional) Sets \f[CB]com.sun.management.jdp.ttl\f[R] ! (INT, no default value) ! .IP \[bu] 2 ! \f[CB]jdp.pause\f[R]: (Optional) Sets ! \f[CB]com.sun.management.jdp.pause\f[R] (INT, no default value) ! .IP \[bu] 2 ! \f[CB]jdp.name\f[R]: (Optional) Sets \f[CB]com.sun.management.jdp.name\f[R] ! (STRING, no default value) ! .RE ! .TP ! .B \f[CB]ManagementAgent.start_local\f[R] ! Starts the local management agent. ! .RS ! .PP ! Impact: Low \-\-\- no impact ! .RE ! .TP ! .B \f[CB]ManagementAgent.status\f[R] ! Print the management agent status. ! .RS ! .PP ! Impact: Low \-\-\- no impact ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]ManagementAgent.stop\f[R] ! Stops the remote management agent. ! .RS ! .PP ! Impact: Low \-\-\- no impact ! .RE ! .TP ! .B \f[CB]Thread.print\f[R] [\f[I]options\f[R]] ! Prints all threads with stacktraces. ! .RS ! .PP ! Impact: Medium \-\-\- depends on the number of threads. ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-l\f[R]: (Optional) Prints \f[CB]java.util.concurrent\f[R] locks ! (BOOLEAN, false) ! .RE ! .TP ! .B \f[CB]VM.classloader_stats\f[R] ! Prints statistics about all ClassLoaders. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]VM.class_hierarchy\f[R] [\f[I]options\f[R]] [\f[I]arguments\f[R]] ! Prints a list of all loaded classes, indented to show the class ! hierarchy. ! The name of each class is followed by the ClassLoaderData* of its ! ClassLoader, or "null" if it is loaded by the bootstrap class loader. ! .RS ! .PP ! Impact: Medium \-\-\- depends on the number of loaded classes. ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-i\f[R]: (Optional) Inherited interfaces should be printed. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]\-s\f[R]: (Optional) If a class name is specified, it prints the ! subclasses. ! If the class name is not specified, only the superclasses are printed. ! (BOOLEAN, false) ! .PP ! \f[I]arguments\f[R]: ! .IP \[bu] 2 ! \f[I]classname\f[R]: (Optional) The name of the class whose hierarchy ! should be printed. ! If not specified, all class hierarchies are printed. ! (STRING, no default value) ! .RE ! .TP ! .B \f[CB]VM.command_line\f[R] ! Prints the command line used to start this VM instance. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]VM.dynlibs\f[R] ! Prints the loaded dynamic libraries. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]VM.info\f[R] ! Prints information about the JVM environment and status. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .RE ! .TP ! .B \f[CB]VM.log\f[R] [\f[I]options\f[R]] ! Lists current log configuration, enables/disables/configures a log ! output, or ro tates all logs. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(control)\f[R] ! .PP ! \f[I]options\f[R]: ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .IP \[bu] 2 ! \f[CB]output\f[R]: (Optional) The name or index (#) of output to ! configure. ! (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]output_options\f[R]: (Optional) Options for the output. ! (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]what\f[R]: (Optional) Configures what tags to log. ! (STRING, no default value ) ! .IP \[bu] 2 ! \f[CB]decorators\f[R]: (Optional) Configures which decorators to use. ! Use \[aq]none\[aq] or an empty value to remove all. ! (STRING, no default value) ! .IP \[bu] 2 ! \f[CB]disable\f[R]: (Optional) Turns off all logging and clears the log ! configuration. ! (BOOLEAN, no default value) ! .IP \[bu] 2 ! \f[CB]list\f[R]: (Optional) Lists current log configuration. ! (BOOLEAN, no default value) ! .IP \[bu] 2 ! \f[CB]rotate\f[R]: (Optional) Rotates all logs. ! (BOOLEAN, no default value) ! .RE ! .TP ! .B \f[CB]VM.flags\f[R] [\f[I]options\f[R]] ! Prints the VM flag options and their current values. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-all\f[R]: (Optional) Prints all flags supported by the VM ! (BOOLEAN, false). ! .RE ! .TP ! .B \f[CB]VM.native_memory\f[R] [\f[I]options\f[R]] ! Prints native memory usage ! .RS ! .PP ! Impact: Medium ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]summary\f[R]: (Optional) Requests runtime to report current memory ! summary, which includes total reserved and committed memory, along with ! memory usage summary by each subsystem. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]detail\f[R]: (Optional) Requests runtime to report memory allocation ! >= 1K by each callsite. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]baseline\f[R]: (Optional) Requests runtime to baseline current ! memory usage, so it can be compared against in later time. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]summary.diff\f[R]: (Optional) Requests runtime to report memory ! summary comparison against previous baseline. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]detail.diff\f[R]: (Optional) Requests runtime to report memory ! detail comparison against previous baseline, which shows the memory ! allocation activities at different callsites. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]shutdown\f[R]: (Optional) Requests runtime to shutdown itself and ! free the memory used by runtime. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]statistics\f[R]: (Optional) Prints tracker statistics for tuning ! purpose. ! (BOOLEAN, false) ! .IP \[bu] 2 ! \f[CB]scale\f[R]: (Optional) Memory usage in which scale, KB, MB or GB ! (STRING, KB) ! .RE ! .TP ! .B \f[CB]VM.print_touched_methods\f[R] ! Prints all methods that have ever been touched during the lifetime of ! this JVM. ! .RS ! .PP ! Impact: Medium \-\-\- depends on Java content. ! .RE ! .TP ! .B \f[CB]VM.set_flag\f[R] [\f[I]arguments\f[R]] ! Sets the VM flag option by using the provided value. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(control)\f[R] ! .PP ! \f[I]arguments\f[R]: ! .IP \[bu] 2 ! \f[I]flag name\f[R]: The name of the flag that you want to set (STRING, ! no default value) ! .IP \[bu] 2 ! \f[I]string value\f[R]: (Optional) The value that you want to set ! (STRING, no default value) ! .RE ! .TP ! .B \f[CB]VM.stringtable\f[R] [\f[I]options\f[R]] ! Dumps the string table. ! .RS ! .PP ! Impact: Medium \-\-\- depends on the Java content. ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-verbose\f[R]: (Optional) Dumps the content of each string in the ! table (BOOLEAN, false) ! .RE ! .TP ! .B \f[CB]VM.symboltable\f[R] [\f[I]options\f[R]] ! Dumps the symbol table. ! .RS ! .PP ! Impact: Medium \-\-\- depends on the Java content. ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax). ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-verbose\f[R]: (Optional) Dumps the content of each symbol in the ! table (BOOLEAN, false) ! .RE ! .TP ! .B \f[CB]VM.systemdictionary\f[R] ! Prints the statistics for dictionary hashtable sizes and bucket length. ! .RS ! .PP ! Impact: Medium ! .PP ! Permission: \f[CB]java.lang.management.ManagementPermission(monitor)\f[R] ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]verbose\f[R]: (Optional) Dump the content of each dictionary entry ! for all class loaders (BOOLEAN, false) . ! .RE ! .TP ! .B \f[CB]VM.system_properties\f[R] ! Prints the system properties. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: \f[CB]java.util.PropertyPermission(*,\ read)\f[R] ! .RE ! .TP ! .B \f[CB]VM.uptime\f[R] [\f[I]options\f[R]] ! Prints the VM uptime. ! .RS ! .PP ! Impact: Low ! .PP ! \f[B]Note:\f[R] ! .PP ! The following \f[I]options\f[R] must be specified using either ! \f[I]key\f[R] or \f[I]key\f[R]\f[CB]=\f[R]\f[I]value\f[R] syntax. ! .PP ! \f[I]options\f[R]: ! .IP \[bu] 2 ! \f[CB]\-date\f[R]: (Optional) Adds a prefix with the current date ! (BOOLEAN, false) ! .RE ! .TP ! .B \f[CB]VM.version\f[R] ! Prints JVM version information. ! .RS ! .PP ! Impact: Low ! .PP ! Permission: ! \f[CB]java.util.PropertyPermission(java.vm.version,\ read)\f[R] ! .RE --- 18,210 ---- .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" ! .\" Title: jcmd ! .\" Language: English ! .\" Date: 03 March 2015 ! .\" SectDesc: Troubleshooting Tools ! .\" Software: JDK 8 ! .\" Arch: generic ! .\" Part Number: E38207-04 ! .\" Doc ID: JSSON ! .\" ! .if n .pl 99999 ! .TH "jcmd" "1" "03 March 2015" "JDK 8" "Troubleshooting Tools" ! .\" ----------------------------------------------------------------- ! .\" * Define some portability stuff ! .\" ----------------------------------------------------------------- ! .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! .\" http://bugs.debian.org/507673 ! .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html ! .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! .ie \n(.g .ds Aq \(aq ! .el .ds Aq ' ! .\" ----------------------------------------------------------------- ! .\" * set default formatting ! .\" ----------------------------------------------------------------- ! .\" disable hyphenation ! .nh ! .\" disable justification (adjust text to left margin only) ! .ad l ! .\" ----------------------------------------------------------------- ! .\" * MAIN CONTENT STARTS HERE * ! .\" ----------------------------------------------------------------- ! .SH "NAME" ! jcmd \- Sends diagnostic command requests to a running Java Virtual Machine (JVM)\&. ! .SH "SYNOPSIS" ! .sp ! .if n \{\ ! .RS 4 ! .\} ! .nf ! \fBjcmd\fR [\fB\-l\fR|\fB\-h\fR|\fB\-help\fR] ! .fi ! .if n \{\ ! .RE ! .\} ! .sp ! .if n \{\ ! .RS 4 ! .\} ! .nf ! \fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fBPerfCounter\&.print\fR ! .fi ! .if n \{\ ! .RE ! .\} ! .sp ! .if n \{\ ! .RS 4 ! .\} ! .nf ! \fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fB\-f\fR \fIfilename\fR ! .fi ! .if n \{\ ! .RE ! .\} ! .sp ! .if n \{\ ! .RS 4 ! .\} ! .nf ! \fBjcmd\fR \fIpid\fR|\fImain\-class\fR \fIcommand\fR[ \fIarguments\fR] ! .fi ! .if n \{\ ! .RE ! .\} ! .SH "DESCRIPTION" ! .PP ! The ! \fBjcmd\fR ! 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\&. ! .if n \{\ ! .sp ! .\} ! .RS 4 ! .it 1 an-trap ! .nr an-no-space-flag 1 ! .nr an-break-flag 1 ! .br ! .ps +1 ! \fBNote\fR ! .ps -1 ! .br ! .TS ! allbox tab(:); ! l. ! T{ ! .PP ! To invoke diagnostic commands from a remote machine or with different identifiers, you can use the ! \fBcom\&.sun\&.management\&.DiagnosticCommandMBean\fR ! interface\&. For more information about the ! \fBDiagnosticCommandMBean\fR ! interface, see the API documentation at http://docs\&.oracle\&.com/javase/8/docs/jre/api/management/extension/com/sun/management/DiagnosticCommandMBean\&.html ! T} ! .TE ! .sp 1 ! .sp .5v ! .RE ! .PP ! If you run ! \fBjcmd\fR ! without arguments or with the ! \fB\-l\fR ! 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 ! \fBjcmd\fR ! with the ! \fB\-h\fR ! or ! \fB\-help\fR ! option prints the tool\(cqs help message\&. ! .PP ! If you specify the processes identifier (\fIpid\fR) or the main class (\fImain\-class\fR) as the first argument, ! \fBjcmd\fR ! 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 ! \fB0\fR ! as the process identifier\&. Use one of the following as the diagnostic command request: ! .PP ! Perfcounter\&.print ! .RS 4 ! Prints the performance counters available for the specified Java process\&. The list of performance counters might vary with the Java process\&. ! .RE ! .PP ! \-f \fIfilename\fR ! .RS 4 ! The name of the file from which to read diagnostic commands and send them to the specified Java process\&. Used only with the ! \fB\-f\fR ! 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 ! \fBstop\fR ! keyword is read\&. ! .RE ! .PP ! \fIcommand\fR [\fIarguments\fR] ! .RS 4 ! 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 ! \fBhelp\fR ! 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 ! \fBhelp\fR ! command\&. ! .sp ! \fBNote:\fR ! If any arguments contain spaces, you must surround them with single or double quotation marks (\fB\*(Aq\fR ! or ! \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)\&. ! .RE ! .SH "OPTIONS" ! .PP ! Options are mutually exclusive\&. ! .PP ! \-f \fIfilename\fR ! .RS 4 ! 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 ! \fBstop\fR ! keyword is read\&. ! .RE ! .PP ! \-h ! .br ! \-help ! .RS 4 ! Prints a help message\&. ! .RE ! .PP ! \-l ! .RS 4 ! Prints the list of running Java processes identifiers with the main class and command\-line arguments\&. ! .RE ! .SH "SEE ALSO" ! .sp ! .RS 4 ! .ie n \{\ ! \h'-04'\(bu\h'+03'\c ! .\} ! .el \{\ ! .sp -1 ! .IP \(bu 2.3 ! .\} ! jps(1) ! .RE ! .br ! 'pl 8.5i ! 'bp
< prev index next >