.\" 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. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" 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