1JCMD(1)                          JDK Commands                          JCMD(1)
2
3
4

NAME

6       jcmd  -  send diagnostic command requests to a running Java Virtual Ma‐
7       chine (JVM)
8

SYNOPSIS

10       jcmd [pid | main-class] command...  | PerfCounter.print | -f filename
11
12       jcmd [-l]
13
14       jcmd -h
15
16       pid    When used, the jcmd utility sends the diagnostic command request
17              to the process ID for the Java process.
18
19       main-class
20              When used, the jcmd utility sends the diagnostic command request
21              to all Java processes with the specified name of the main class.
22
23       command
24              The command must be a valid jcmd command for the  selected  JVM.
25              The  list  of available commands for jcmd is obtained by running
26              the help command (jcmd pid help) where pid is the process ID for
27              the  running  Java  process.   If the pid is 0, commands will be
28              sent to all Java processes.  The main  class  argument  will  be
29              used  to  match,  either  partially  or fully, the class used to
30              start Java.  If no options are given, it lists the running  Java
31              process  identifiers  with the main class and command-line argu‐
32              ments that were used to launch the process (the  same  as  using
33              -l).
34
35       Perfcounter.print
36              Prints  the  performance  counters exposed by the specified Java
37              process.
38
39       -f filename
40              Reads and executes commands from a specified file, filename.
41
42       -l     Displays the list of Java Virtual  Machine  process  identifiers
43              that are not running in a separate docker process along with the
44              main class and command-line arguments that were used  to  launch
45              the  process.   If  the JVM is in a docker process, you must use
46              tools such as ps to look up the PID.
47
48              Note:
49
50              Using jcmd without arguments is the same as using jcmd -l.
51
52       -h     Displays the jcmd utility's command-line help.
53

DESCRIPTION

55       The jcmd utility is used to send diagnostic  command  requests  to  the
56       JVM.   It must be used on the same machine on which the JVM is running,
57       and have the same effective user and group identifiers that  were  used
58       to  launch  the  JVM.  Each diagnostic command has its own set of argu‐
59       ments.  To display the description, syntax, and a list of available ar‐
60       guments  for  a  diagnostic command, use the name of the command as the
61       argument.  For example:
62
63              jcmd pid help command
64
65       If arguments contain spaces, then you must surround them with single or
66       double  quotation  marks (' or ").  In addition, you must escape single
67       or double quotation marks with a backslash (\) to prevent the operating
68       system  shell  from processing quotation marks.  Alternatively, you can
69       surround these arguments with single quotation marks and then with dou‐
70       ble  quotation marks (or with double quotation marks and then with sin‐
71       gle quotation marks).
72
73       If  you  specify  the  process  identifier  (pid)  or  the  main  class
74       (main-class) as the first argument, then the jcmd utility sends the di‐
75       agnostic command request to the Java process with the specified identi‐
76       fier  or  to  all  Java  processes  with the specified name of the main
77       class.  You can also send the diagnostic command request to all  avail‐
78       able Java processes by specifying 0 as the process identifier.
79

COMMANDS FOR JCMD

81       The  command  must  be a valid jcmd diagnostic command for the selected
82       JVM.  The list of available commands for jcmd is  obtained  by  running
83       the help command (jcmd pid help) where pid is the process ID for a run‐
84       ning Java process.  If the pid is 0, commands will be sent to all  Java
85       processes.   The main class argument will be used to match, either par‐
86       tially or fully, the class used to start Java.  If no options are  giv‐
87       en, it lists the running Java process identifiers that are not in sepa‐
88       rate docker processes along with the main class and command-line  argu‐
89       ments that were used to launch the process (the same as using -l).
90
91       The following commands are available:
92
93       help [options] [arguments]
94              For more information about a specific command.
95
96              arguments:
97
98command  name:  The name of the command for which we want help
99                (STRING, no default value)
100
101              Note:
102
103              The following options must be  specified  using  either  key  or
104              key=value syntax.
105
106              options:
107
108-all: (Optional) Show help for all commands (BOOLEAN, false) .
109
110       Compiler.codecache
111              Prints code cache layout and bounds.
112
113              Impact: Low
114
115              Permission: java.lang.management.ManagementPermission(monitor)
116
117       Compiler.codelist
118              Prints all compiled methods in code cache that are alive.
119
120              Impact: Medium
121
122              Permission: java.lang.management.ManagementPermission(monitor)
123
124       Compiler.queue
125              Prints methods queued for compilation.
126
127              Impact: Low
128
129              Permission: java.lang.management.ManagementPermission(monitor)
130
131       Compiler.directives_add *filename* *arguments*
132              Adds compiler directives from a file.
133
134              Impact: Low
135
136              Permission: java.lang.management.ManagementPermission(monitor)
137
138              arguments:
139
140              filename:  The  name  of the directives file (STRING, no default
141              value)
142
143       Compiler.directives_clear
144              Remove all compiler directives.
145
146              Impact: Low
147
148              Permission: java.lang.management.ManagementPermission(monitor)
149
150       Compiler.directives_print
151              Prints all active compiler directives.
152
153              Impact: Low
154
155              Permission: java.lang.management.ManagementPermission(monitor)
156
157       Compiler.directives_remove
158              Remove latest added compiler directive.
159
160              Impact: Low
161
162              Permission: java.lang.management.ManagementPermission(monitor)
163
164       GC.class_histogram [options]
165              Provides statistics about the Java heap usage.
166
167              Impact: High --- depends on Java heap size and content.
168
169              Permission: java.lang.management.ManagementPermission(monitor)
170
171              Note:
172
173              The options must be specified using either key or key=value syn‐
174              tax.
175
176              options:
177
178-all:  (Optional)  Inspects all objects, including unreachable
179                objects (BOOLEAN, false)
180
181       GC.finalizer_info
182              Provides information about the Java finalization queue.
183
184              Impact: Medium
185
186              Permission: java.lang.management.ManagementPermission(monitor)
187
188       GC.heap_dump [options] [arguments]
189              Generates a HPROF format dump of the Java heap.
190
191              Impact: High --- depends on the Java heap size and content.  Re‐
192              quest a full GC unless the -all option is specified.
193
194              Permission: java.lang.management.ManagementPermission(monitor)
195
196              Note:
197
198              The  following  options  must  be  specified using either key or
199              key=value syntax.
200
201              options:
202
203-all: (Optional) Dump all objects, including  unreachable  ob‐
204                jects (BOOLEAN, false)
205
206              arguments:
207
208filename: The name of the dump file (STRING, no default value)
209
210       GC.heap_info
211              Provides generic Java heap information.
212
213              Impact: Medium
214
215              Permission: java.lang.management.ManagementPermission(monitor)
216
217       GC.run Calls java.lang.System.gc().
218
219              Impact: Medium --- depends on the Java heap size and content.
220
221       GC.run_finalization
222              Calls java.lang.System.runFinalization().
223
224              Impact: Medium --- depends on the Java content.
225
226       JFR.check [options]
227              Show information about a running flight recording
228
229              Impact: Low
230
231              Note:
232
233              The options must be specified using either key or key=value syn‐
234              tax.  If no parameters are entered, information for  all  active
235              recordings is shown.
236
237              options:
238
239name:  (Optional)  Name  of the flight recording.  (STRING, no
240                default value)
241
242verbose: (Optional) Flag for printing the event  settings  for
243                the recording (BOOLEAN, false)
244
245       JFR.configure [options]
246              Set the parameters for a flight recording
247
248              Impact: Low
249
250              Note:
251
252              The options must be specified using either key or key=value syn‐
253              tax.  If no parameters are entered,  the  current  settings  are
254              displayed.
255
256              options:
257
258globalbuffercount:  (Optional) Number of global buffers.  This
259                option is a legacy option: change the memorysize parameter  to
260                alter  the  number  of  global  buffers.  This value cannot be
261                changed once JFR has been initalized.  (STRING, default deter‐
262                mined by the value for memorysize)
263
264globalbuffersize:  (Optional)  Size  of the global buffers, in
265                bytes.  This option is a legacy option: change the  memorysize
266                parameter to alter the size of the global buffers.  This value
267                cannot be changed once JFR has been initalized.  (STRING,  de‐
268                fault determined by the value for memorysize)
269
270maxchunksize:  (Optional)  Maximum  size of an individual data
271                chunk in bytes if one of the following suffixes is  not  used:
272                'm'  or  'M'  for megabytes OR 'g' or 'G' for gigabytes.  This
273                value  cannot  be  changed  once  JFR  has  been  initialized.
274                (STRING, 12M)
275
276memorysize: (Optional) Overall memory size, in bytes if one of
277                the following suffixes is not used: 'm' or 'M'  for  megabytes
278                OR  'g'  or  'G'  for gigabytes.  This value cannot be changed
279                once JFR has been initialized.  (STRING, 10M)
280
281repositorypath: (Optional) Path to the location where  record‐
282                ings  are  stored  until they are written to a permanent file.
283                (STRING, The default location is the temporary  directory  for
284                the  operating system.  On Linux operating systems, the tempo‐
285                rary directory is /tmp.  On Windwows, the temporary  directory
286                is specified by the TMP environment variable.)
287
288stackdepth:  (Optional) Stack depth for stack traces.  Setting
289                this value greater than the default of 64 may cause a  perfor‐
290                mance  degradation.  This value cannot be changed once JFR has
291                been initialized.  (LONG, 64)
292
293thread_buffer_size: (Optional)  Local  buffer  size  for  each
294                thread  in bytes if one of the following suffixes is not used:
295                'k' or 'K' for kilobytes or 'm' or 'M' for  megabytes.   Over‐
296                riding this parameter could reduce performance and is not rec‐
297                ommended.  This value cannot be changed once JFR has been ini‐
298                tialized.  (STRING, 8k)
299
300samplethreads: (Optional) Flag for activating thread sampling.
301                (BOOLEAN, true)
302
303       JFR.dump [options]
304              Write data to a file while a flight recording is running
305
306              Impact: Low
307
308              Note:
309
310              The options must be specified using either key or key=value syn‐
311              tax.   No  options are required.  The recording continues to run
312              after the data is written.
313
314              options:
315
316begin: (Optional) Specify the time from which  recording  data
317                will be included in the dump file.  The format is specified as
318                local time.  (STRING, no default value)
319
320end: (Optional) Specify the time to which recording data  will
321                be  included in the dump file.  The format is specified as lo‐
322                cal time.  (STRING, no default value)
323
324                Note: For both begin and end, the time must  be  in  a  format
325                that  can  be  read by java.time.LocalTime::parse(STRING), ja‐
326                va.time.LocalDateTime::parse(STRING)     or      java.time.In‐
327                stant::parse(STRING).       For      example,      "13:20:15",
328                "2020-03-17T09:00:00" or "2020-03-17T09:00:00Z".
329
330                Note: begin and end times correspond to the  timestamps  found
331                within the recorded information in the flight recording data.
332
333                Another  option  is to use a time relative to the current time
334                that is specified by a negative integer followed by  "s",  "m"
335                or "h".  For example, "-12h", "-15m" or "-30s"
336
337filename:  (Optional)  Name  of  the  file to which the flight
338                recording data is dumped.  If no filename is given, a filename
339                is  generated from the PID and the current date.  The filename
340                may also be a directory in which case, the filename is  gener‐
341                ated from the PID and the current date in the specified direc‐
342                tory.  (STRING, no default value)
343
344maxage: (Optional) Length  of  time  for  dumping  the  flight
345                recording  data  to a file.  (INTEGER followed by 's' for sec‐
346                onds 'm' for minutes or 'h' for hours, no default value)
347
348maxsize: (Optional) Maximum size for the  amount  of  data  to
349                dump  from a flight recording in bytes if one of the following
350                suffixes is not used: 'm' or 'M' for megabytes OR 'g'  or  'G'
351                for gigabytes.  (STRING, no default value)
352
353name:  (Optional) Name of the recording.  If no name is given,
354                data from all recordings is dumped.  (STRING, no default  val‐
355                ue)
356
357path-to-gc-root:  (Optional)  Flag  for  saving  the  path  to
358                garbage collection (GC) roots at the time the  recording  data
359                is  dumped.  The path information is useful for finding memory
360                leaks but collecting it can cause the application to pause for
361                a  short period of time.  Turn on this flag only when you have
362                an application that you suspect has a memory leak.   (BOOLEAN,
363                false)
364
365       JFR.start [options]
366              Start a flight recording
367
368              Impact: Low
369
370              Note:
371
372              The options must be specified using either key or key=value syn‐
373              tax.  If no parameters are entered, then a recording is  started
374              with default values.
375
376              options:
377
378delay:  (Optional)  Length  of time to wait before starting to
379                record (INTEGER followed by 's' for seconds 'm' for minutes or
380                'h' for hours, 0s)
381
382disk:  (Optional) Flag for also writing the data to disk while
383                recording (BOOLEAN, true)
384
385dumponexit: (Optional) Flag for writing the recording to  disk
386                when  the  Java  Virtual  Machine (JVM) shuts down.  If set to
387                'true' and no value is given for filename,  the  recording  is
388                written  to  a  file  in  the  directory where the process was
389                started.  The file name is a system-generated name  that  con‐
390                tains  the  process  ID, the recording ID and the current time
391                stamp.   (For  example:  id-1-2019_12_12_10_41.jfr)  (BOOLEAN,
392                false)
393
394duration:  (Optional)  Length of time to record.  Note that 0s
395                means forever (INTEGER followed by 's'  for  seconds  'm'  for
396                minutes or 'h' for hours, 0s)
397
398filename:  (Optional)  Name  of  the  file to which the flight
399                recording data is written when the recording is  stopped.   If
400                no filename is given, a filename is generated from the PID and
401                the current date and is placed  in  the  directory  where  the
402                process  was started.  The filename may also be a directory in
403                which case, the filename is generated from  the  PID  and  the
404                current  date in the specified directory.  (STRING, no default
405                value)
406
407maxage: (Optional) Maximum time to keep the recorded  data  on
408                disk.  This parameter is valid only when the disk parameter is
409                set to true.  Note 0s means forever.  (INTEGER followed by 's'
410                for seconds 'm' for minutes or 'h' for hours, 0s)
411
412maxsize:  (Optional)  Maximum size of the data to keep on disk
413                in bytes if one of the following suffixes is not used: 'm'  or
414                'M' for megabytes OR 'g' or 'G' for gigabytes.  This parameter
415                is valid only when the disk parameter is set to  'true'.   The
416                value must not be less than the value for the maxchunksize pa‐
417                rameter set with the JFR.configure command.   (STRING,  0  (no
418                maximum size))
419
420name: (Optional) Name of the recording.  If no name is provid‐
421                ed, a name is generated.  Make note of the generated name that
422                is shown in the response to the command so that you can use it
423                with other commands.  (STRING, system-generated default name)
424
425path-to-gc-root:  (Optional)  Flag  for  saving  the  path  to
426                garbage  collection (GC) roots at the end of a recording.  The
427                path information is useful for finding memory leaks  but  col‐
428                lecting it is time consuming.  Turn on this flag only when you
429                have an application that you suspect has a  memory  leak.   If
430                the  settings parameter is set to 'profile', then the informa‐
431                tion collected includes the stack trace from where the  poten‐
432                tial leaking object was allocated.  (BOOLEAN, false)
433
434settings: (Optional) Name of the settings file that identifies
435                which events to record.  To specify more than one file,  sepa‐
436                rate  the  names  with a comma (',').  Include the path if the
437                file is not in JAVA-HOME/lib/jfr.  The following profiles  are
438                included with the JDK in the JAVA-HOME/lib/jfr directory: 'de‐
439                fault.jfc': collects a predefined set of information with  low
440                overhead,  so  it has minimal impact on performance and can be
441                used with recordings  that  run  continuously;  'profile.jfc':
442                Provides  more  data  than the 'default.jfc' profile, but with
443                more overhead and impact on performance.  Use this  configura‐
444                tion  for short periods of time when more information is need‐
445                ed.  Use none to start a recording without a  predefined  con‐
446                figuration file.  (STRING, JAVA-HOME/lib/jfr/default.jfc)
447
448              Event  settings and .jfc options can be specified using the fol‐
449              lowing syntax:
450
451option: (Optional) Specifies the option value to  modify.   To
452                list available options, use the JAVA_HOME/bin/jfr tool.
453
454event-setting: (Optional) Specifies the event setting value to
455                modify.  Use the form: #= To add a new event  setting,  prefix
456                the event name with '+'.
457
458              You  can specify values for multiple event settings and .jfc op‐
459              tions by separating them with a whitespace.  In case of  a  con‐
460              flict  between a parameter and a .jfc option, the parameter will
461              take precedence.  The whitespace delimiter can  be  omitted  for
462              timespan  values,  i.e.   20ms.   For more information about the
463              settings syntax, see Javadoc of the jdk.jfr package.
464
465       JFR.stop [options]
466              Stop a flight recording
467
468              Impact: Low
469
470              Note:
471
472              The options must be specified using either key or key=value syn‐
473              tax.   If  no  parameters  are  entered,  then  no  recording is
474              stopped.
475
476              options:
477
478filename: (Optional) Name of the file to which  the  recording
479                is  written when the recording is stopped.  If no path is pro‐
480                vided, the data from the recording is discarded.  (STRING,  no
481                default value)
482
483name:  (Optional)  Name  of  the recording (STRING, no default
484                value)
485
486       JVMTI.agent_load [arguments]
487              Loads JVMTI native agent.
488
489              Impact: Low
490
491              Permission: java.lang.management.ManagementPermission(control)
492
493              arguments:
494
495library path: Absolute  path  of  the  JVMTI  agent  to  load.
496                (STRING, no default value)
497
498agent  option:  (Optional)  Option  string  to pass the agent.
499                (STRING, no default value)
500
501       JVMTI.data_dump
502              Signals the JVM to do a data-dump request for JVMTI.
503
504              Impact: High
505
506              Permission: java.lang.management.ManagementPermission(monitor)
507
508       ManagementAgent.start [options]
509              Starts remote management agent.
510
511              Impact: Low --- no impact
512
513              Note:
514
515              The following options must be  specified  using  either  key  or
516              key=value syntax.
517
518              options:
519
520config.file:  (Optional)  Sets  com.sun.management.config.file
521                (STRING, no default value)
522
523jmxremote.host:  (Optional)   Sets   com.sun.management.jmxre‐
524                mote.host (STRING, no default value)
525
526jmxremote.port:   (Optional)   Sets  com.sun.management.jmxre‐
527                mote.port (STRING, no default value)
528
529jmxremote.rmi.port: (Optional) Sets  com.sun.management.jmxre‐
530                mote.rmi.port (STRING, no default value)
531
532jmxremote.ssl:   (Optional)   Sets   com.sun.management.jmxre‐
533                mote.ssl (STRING, no default value)
534
535jmxremote.registry.ssl:   (Optional)   Sets    com.sun.manage‐
536                ment.jmxremote.registry.ssl (STRING, no default value)
537
538jmxremote.authenticate:    (Optional)   Sets   com.sun.manage‐
539                ment.jmxremote.authenticate (STRING, no default value)
540
541              • jmxremote.password.file:   (Optional)   Sets   com.sun.manage‐
542                ment.jmxremote.password.file (STRING, no default value)
543
544jmxremote.access.file:    (Optional)    Sets   com.sun.manage‐
545                ment.jmxremote.acce ss.file (STRING, no default value)
546
547jmxremote.login.config:   (Optional)   Sets    com.sun.manage‐
548                ment.jmxremote.log in.config (STRING, no default value)
549
550jmxremote.ssl.enabled.cipher.suites:      (Optional)      Sets
551                com.sun.management.
552
553jmxremote.ssl.enabled.cipher.suite: (STRING, no default value)
554
555jmxremote.ssl.enabled.protocols: (Optional) Sets  com.sun.man‐
556                agement.jmxr emote.ssl.enabled.protocols  (STRING,  no default
557                value)
558
559jmxremote.ssl.need.client.auth: (Optional)  Sets  com.sun.man‐
560                agement.jmxre mote.need.client.auth (STRING, no default value)
561
562jmxremote.ssl.config.file:   (Optional)  Sets  com.sun.manage‐
563                ment.jmxremote. ssl_config_file (STRING, no default value)
564
565jmxremote.autodiscovery:   (Optional)   Sets   com.sun.manage‐
566                ment.jmxremote.au todiscovery (STRING, no default value)
567
568jdp.port: (Optional) Sets com.sun.management.jdp.port (INT, no
569                default value)
570
571jdp.address:  (Optional)  Sets  com.sun.management.jdp.address
572                (STRING, no default value)
573
574jdp.source_addr:      (Optional)      Sets     com.sun.manage‐
575                ment.jdp.source_addr (STRING, no default value)
576
577jdp.ttl: (Optional) Sets com.sun.management.jdp.ttl  (INT,  no
578                default value)
579
580jdp.pause:  (Optional) Sets com.sun.management.jdp.pause (INT,
581                no default value)
582
583jdp.name: (Optional) Sets com.sun.management.jdp.name (STRING,
584                no default value)
585
586       ManagementAgent.start_local
587              Starts the local management agent.
588
589              Impact: Low --- no impact
590
591       ManagementAgent.status
592              Print the management agent status.
593
594              Impact: Low --- no impact
595
596              Permission: java.lang.management.ManagementPermission(monitor)
597
598       ManagementAgent.stop
599              Stops the remote management agent.
600
601              Impact: Low --- no impact
602
603       Thread.print [options]
604              Prints all threads with stacktraces.
605
606              Impact: Medium --- depends on the number of threads.
607
608              Permission: java.lang.management.ManagementPermission(monitor)
609
610              Note:
611
612              The  following  options  must  be  specified using either key or
613              key=value syntax.
614
615              options:
616
617-l: (Optional)  Prints  java.util.concurrent  locks  (BOOLEAN,
618                false)
619
620       VM.classloader_stats
621              Prints statistics about all ClassLoaders.
622
623              Impact: Low
624
625              Permission: java.lang.management.ManagementPermission(monitor)
626
627       VM.class_hierarchy [options] [arguments]
628              Prints  a list of all loaded classes, indented to show the class
629              hierarchy.  The name of each class is followed by the ClassLoad‐
630              erData*  of  its  ClassLoader,  or "null" if it is loaded by the
631              bootstrap class loader.
632
633              Impact: Medium --- depends on the number of loaded classes.
634
635              Permission: java.lang.management.ManagementPermission(monitor)
636
637              Note:
638
639              The following options must be  specified  using  either  key  or
640              key=value syntax.
641
642              options:
643
644-i: (Optional) Inherited interfaces should be printed.  (BOOL‐
645                EAN, false)
646
647-s: (Optional) If a class name is  specified,  it  prints  the
648                subclasses.   If the class name is not specified, only the su‐
649                perclasses are printed.  (BOOLEAN, false)
650
651              arguments:
652
653classname: (Optional) The name of the  class  whose  hierarchy
654                should  be  printed.   If not specified, all class hierarchies
655                are printed.  (STRING, no default value)
656
657       VM.command_line
658              Prints the command line used to start this VM instance.
659
660              Impact: Low
661
662              Permission: java.lang.management.ManagementPermission(monitor)
663
664       VM.dynlibs
665              Prints the loaded dynamic libraries.
666
667              Impact: Low
668
669              Permission: java.lang.management.ManagementPermission(monitor)
670
671       VM.info
672              Prints information about the JVM environment and status.
673
674              Impact: Low
675
676              Permission: java.lang.management.ManagementPermission(monitor)
677
678       VM.log [options]
679              Lists current log configuration,  enables/disables/configures  a
680              log output, or rotates all logs.
681
682              Impact: Low
683
684              Permission: java.lang.management.ManagementPermission(control)
685
686              options:
687
688              Note:
689
690              The  following  options  must  be  specified using either key or
691              key=value syntax.
692
693output: (Optional) The name or index (#) of output to  config‐
694                ure.  (STRING, no default value)
695
696output_options:  (Optional)  Options for the output.  (STRING,
697                no default value)
698
699what: (Optional) Configures what tags to log.  (STRING, no de‐
700                fault value )
701
702decorators:  (Optional)  Configures  which  decorators to use.
703                Use 'none' or an empty value to remove all.  (STRING,  no  de‐
704                fault value)
705
706disable:  (Optional)  Turns off all logging and clears the log
707                configuration.  (BOOLEAN, no default value)
708
709list: (Optional) Lists current log  configuration.   (BOOLEAN,
710                no default value)
711
712rotate:  (Optional)  Rotates  all  logs.  (BOOLEAN, no default
713                value)
714
715       VM.flags [options]
716              Prints the VM flag options and their current values.
717
718              Impact: Low
719
720              Permission: java.lang.management.ManagementPermission(monitor)
721
722              Note:
723
724              The following options must be  specified  using  either  key  or
725              key=value syntax.
726
727              options:
728
729-all:  (Optional)  Prints all flags supported by the VM (BOOL‐
730                EAN, false).
731
732       VM.native_memory [options]
733              Prints native memory usage
734
735              Impact: Medium
736
737              Permission: java.lang.management.ManagementPermission(monitor)
738
739              Note:
740
741              The following options must be  specified  using  either  key  or
742              key=value syntax.
743
744              options:
745
746summary:  (Optional) Requests runtime to report current memory
747                summary, which includes total reserved and  committed  memory,
748                along  with memory usage summary by each subsystem.  (BOOLEAN,
749                false)
750
751detail: (Optional) Requests runtime to report  memory  alloca‐
752                tion >= 1K by each callsite.  (BOOLEAN, false)
753
754baseline: (Optional) Requests runtime to baseline current mem‐
755                ory usage, so it  can  be  compared  against  in  later  time.
756                (BOOLEAN, false)
757
758summary.diff:  (Optional)  Requests  runtime  to report memory
759                summary  comparison  against  previous  baseline.    (BOOLEAN,
760                false)
761
762detail.diff:  (Optional) Requests runtime to report memory de‐
763                tail comparison against previous  baseline,  which  shows  the
764                memory  allocation  activities at different callsites.  (BOOL‐
765                EAN, false)
766
767shutdown: (Optional) Requests runtime to shutdown  itself  and
768                free the memory used by runtime.  (BOOLEAN, false)
769
770statistics:  (Optional)  Prints  tracker statistics for tuning
771                purpose.  (BOOLEAN, false)
772
773scale: (Optional) Memory usage in which scale, KB,  MB  or  GB
774                (STRING, KB)
775
776       VM.print_touched_methods
777              Prints  all methods that have ever been touched during the life‐
778              time of this JVM.
779
780              Impact: Medium --- depends on Java content.
781
782       VM.set_flag [arguments]
783              Sets the VM flag option by using the provided value.
784
785              Impact: Low
786
787              Permission: java.lang.management.ManagementPermission(control)
788
789              arguments:
790
791flag name: The name of the flag that you want to set  (STRING,
792                no default value)
793
794string  value:  (Optional)  The  value  that  you  want to set
795                (STRING, no default value)
796
797       VM.stringtable [options]
798              Dumps the string table.
799
800              Impact: Medium --- depends on the Java content.
801
802              Permission: java.lang.management.ManagementPermission(monitor)
803
804              Note:
805
806              The following options must be  specified  using  either  key  or
807              key=value syntax.
808
809              options:
810
811-verbose:  (Optional)  Dumps the content of each string in the
812                table (BOOLEAN, false)
813
814       VM.symboltable [options]
815              Dumps the symbol table.
816
817              Impact: Medium --- depends on the Java content.
818
819              Permission: java.lang.management.ManagementPermission(monitor)
820
821              Note:
822
823              The following options must be  specified  using  either  key  or
824              key=value syntax).
825
826              options:
827
828-verbose:  (Optional)  Dumps the content of each symbol in the
829                table (BOOLEAN, false)
830
831       VM.systemdictionary
832              Prints the statistics for dictionary hashtable sizes and  bucket
833              length.
834
835              Impact: Medium
836
837              Permission: java.lang.management.ManagementPermission(monitor)
838
839              Note:
840
841              The  following  options  must  be  specified using either key or
842              key=value syntax.
843
844              options:
845
846verbose: (Optional) Dump the content of each dictionary  entry
847                for all class loaders (BOOLEAN, false) .
848
849       VM.system_properties
850              Prints the system properties.
851
852              Impact: Low
853
854              Permission: java.util.PropertyPermission(*, read)
855
856       VM.uptime [options]
857              Prints the VM uptime.
858
859              Impact: Low
860
861              Note:
862
863              The  following  options  must  be  specified using either key or
864              key=value syntax.
865
866              options:
867
868-date: (Optional) Adds a prefix with the current  date  (BOOL‐
869                EAN, false)
870
871       VM.version
872              Prints JVM version information.
873
874              Impact: Low
875
876              Permission: java.util.PropertyPermission(java.vm.version, read)
877
878
879
880JDK 17                               2021                              JCMD(1)
Impressum