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
98              · command  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
208              · filename: 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
239              · name:  (Optional)  Name  of the flight recording.  (STRING, no
240                default value)
241
242              · verbose: (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
258              · globalbuffercount:  (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
264              · globalbuffersize:  (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
270              · maxchunksize:  (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
276              · memorysize: (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
281              · repositorypath: (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
288              · stackdepth:  (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
293              · thread_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
300              · samplethreads: (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
316              · begin: (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
320              · end: (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
337              · filename:  (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
344              · maxage: (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
348              · maxsize: (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
353              · name:  (Optional) Name of the recording.  If no name is given,
354                data from all recordings is dumped.  (STRING, no default  val‐
355                ue)
356
357              · path-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
378              · delay:  (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
382              · disk:  (Optional) Flag for also writing the data to disk while
383                recording (BOOLEAN, true)
384
385              · dumponexit: (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
394              · duration:  (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
398              · filename:  (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
407              · maxage: (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
412              · maxsize:  (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
420              · name: (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
425              · path-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
434              · settings: (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       JFR.stop [options]
449              Stop a flight recording
450
451              Impact: Low
452
453              Note:
454
455              The options must be specified using either key or key=value syn‐
456              tax.  If  no  parameters  are  entered,  then  no  recording  is
457              stopped.
458
459              options:
460
461              · filename:  (Optional)  Name of the file to which the recording
462                is written when the recording is stopped.  If no path is  pro‐
463                vided,  the data from the recording is discarded.  (STRING, no
464                default value)
465
466              · name: (Optional) Name of the  recording  (STRING,  no  default
467                value)
468
469       JVMTI.agent_load [arguments]
470              Loads JVMTI native agent.
471
472              Impact: Low
473
474              Permission: java.lang.management.ManagementPermission(control)
475
476              arguments:
477
478              · library  path:  Absolute  path  of  the  JVMTI  agent to load.
479                (STRING, no default value)
480
481              · agent option: (Optional) Option  string  to  pass  the  agent.
482                (STRING, no default value)
483
484       JVMTI.data_dump
485              Signals the JVM to do a data-dump request for JVMTI.
486
487              Impact: High
488
489              Permission: java.lang.management.ManagementPermission(monitor)
490
491       ManagementAgent.start [options]
492              Starts remote management agent.
493
494              Impact: Low --- no impact
495
496              Note:
497
498              The  following  options  must  be  specified using either key or
499              key=value syntax.
500
501              options:
502
503              · config.file:  (Optional)  Sets  com.sun.management.config.file
504                (STRING, no default value)
505
506              · jmxremote.host:   (Optional)   Sets  com.sun.management.jmxre‐
507                mote.host (STRING, no default value)
508
509              · jmxremote.port:  (Optional)   Sets   com.sun.management.jmxre‐
510                mote.port (STRING, no default value)
511
512              · jmxremote.rmi.port:  (Optional) Sets com.sun.management.jmxre‐
513                mote.rmi.port (STRING, no default value)
514
515              · jmxremote.ssl:   (Optional)   Sets   com.sun.management.jmxre‐
516                mote.ssl (STRING, no default value)
517
518              · jmxremote.registry.ssl:    (Optional)   Sets   com.sun.manage‐
519                ment.jmxremote.registry.ssl (STRING, no default value)
520
521              · jmxremote.authenticate:   (Optional)   Sets    com.sun.manage‐
522                ment.jmxremote.authenticate (STRING, no default value)
523
524              · jmxremote.password.file:   (Optional)   Sets   com.sun.manage‐
525                ment.jmxremote.password.file (STRING, no default value)
526
527              · jmxremote.access.file:   (Optional)    Sets    com.sun.manage‐
528                ment.jmxremote.acce ss.file (STRING, no default value)
529
530              · jmxremote.login.config:    (Optional)   Sets   com.sun.manage‐
531                ment.jmxremote.log in.config (STRING, no default value)
532
533              · jmxremote.ssl.enabled.cipher.suites:      (Optional)      Sets
534                com.sun.management.
535
536              · jmxremote.ssl.enabled.cipher.suite: (STRING, no default value)
537
538              · jmxremote.ssl.enabled.protocols:  (Optional) Sets com.sun.man‐
539                agement.jmxr emote.ssl.enabled.protocols (STRING,  no  default
540                value)
541
542              · jmxremote.ssl.need.client.auth:  (Optional)  Sets com.sun.man‐
543                agement.jmxre mote.need.client.auth (STRING, no default value)
544
545              · jmxremote.ssl.config.file:  (Optional)  Sets   com.sun.manage‐
546                ment.jmxremote. ssl_config_file (STRING, no default value)
547
548              · jmxremote.autodiscovery:   (Optional)   Sets   com.sun.manage‐
549                ment.jmxremote.au todiscovery (STRING, no default value)
550
551              · jdp.port: (Optional) Sets com.sun.management.jdp.port (INT, no
552                default value)
553
554              · jdp.address:  (Optional)  Sets  com.sun.management.jdp.address
555                (STRING, no default value)
556
557              · jdp.source_addr:     (Optional)      Sets      com.sun.manage‐
558                ment.jdp.source_addr (STRING, no default value)
559
560              · jdp.ttl:  (Optional)  Sets com.sun.management.jdp.ttl (INT, no
561                default value)
562
563              · jdp.pause: (Optional) Sets com.sun.management.jdp.pause  (INT,
564                no default value)
565
566              · jdp.name: (Optional) Sets com.sun.management.jdp.name (STRING,
567                no default value)
568
569       ManagementAgent.start_local
570              Starts the local management agent.
571
572              Impact: Low --- no impact
573
574       ManagementAgent.status
575              Print the management agent status.
576
577              Impact: Low --- no impact
578
579              Permission: java.lang.management.ManagementPermission(monitor)
580
581       ManagementAgent.stop
582              Stops the remote management agent.
583
584              Impact: Low --- no impact
585
586       Thread.print [options]
587              Prints all threads with stacktraces.
588
589              Impact: Medium --- depends on the number of threads.
590
591              Permission: java.lang.management.ManagementPermission(monitor)
592
593              Note:
594
595              The following options must be  specified  using  either  key  or
596              key=value syntax.
597
598              options:
599
600              · -l:  (Optional)  Prints  java.util.concurrent  locks (BOOLEAN,
601                false)
602
603       VM.classloader_stats
604              Prints statistics about all ClassLoaders.
605
606              Impact: Low
607
608              Permission: java.lang.management.ManagementPermission(monitor)
609
610       VM.class_hierarchy [options] [arguments]
611              Prints a list of all loaded classes, indented to show the  class
612              hierarchy.  The name of each class is followed by the ClassLoad‐
613              erData* of its ClassLoader, or "null" if it  is  loaded  by  the
614              bootstrap class loader.
615
616              Impact: Medium --- depends on the number of loaded classes.
617
618              Permission: java.lang.management.ManagementPermission(monitor)
619
620              Note:
621
622              The  following  options  must  be  specified using either key or
623              key=value syntax.
624
625              options:
626
627              · -i: (Optional) Inherited interfaces should be printed.  (BOOL‐
628                EAN, false)
629
630              · -s:  (Optional)  If  a  class name is specified, it prints the
631                subclasses.  If the class name is not specified, only the  su‐
632                perclasses are printed.  (BOOLEAN, false)
633
634              arguments:
635
636              · classname:  (Optional)  The  name of the class whose hierarchy
637                should be printed.  If not specified,  all  class  hierarchies
638                are printed.  (STRING, no default value)
639
640       VM.command_line
641              Prints the command line used to start this VM instance.
642
643              Impact: Low
644
645              Permission: java.lang.management.ManagementPermission(monitor)
646
647       VM.dynlibs
648              Prints the loaded dynamic libraries.
649
650              Impact: Low
651
652              Permission: java.lang.management.ManagementPermission(monitor)
653
654       VM.info
655              Prints information about the JVM environment and status.
656
657              Impact: Low
658
659              Permission: java.lang.management.ManagementPermission(monitor)
660
661       VM.log [options]
662              Lists  current  log configuration, enables/disables/configures a
663              log output, or rotates all logs.
664
665              Impact: Low
666
667              Permission: java.lang.management.ManagementPermission(control)
668
669              options:
670
671              Note:
672
673              The following options must be  specified  using  either  key  or
674              key=value syntax.
675
676              · output:  (Optional) The name or index (#) of output to config‐
677                ure.  (STRING, no default value)
678
679              · output_options: (Optional) Options for the  output.   (STRING,
680                no default value)
681
682              · what: (Optional) Configures what tags to log.  (STRING, no de‐
683                fault value )
684
685              · decorators: (Optional) Configures  which  decorators  to  use.
686                Use  'none'  or an empty value to remove all.  (STRING, no de‐
687                fault value)
688
689              · disable: (Optional) Turns off all logging and clears  the  log
690                configuration.  (BOOLEAN, no default value)
691
692              · list:  (Optional)  Lists current log configuration.  (BOOLEAN,
693                no default value)
694
695              · rotate: (Optional) Rotates all  logs.   (BOOLEAN,  no  default
696                value)
697
698       VM.flags [options]
699              Prints the VM flag options and their current values.
700
701              Impact: Low
702
703              Permission: java.lang.management.ManagementPermission(monitor)
704
705              Note:
706
707              The  following  options  must  be  specified using either key or
708              key=value syntax.
709
710              options:
711
712              · -all: (Optional) Prints all flags supported by the  VM  (BOOL‐
713                EAN, false).
714
715       VM.native_memory [options]
716              Prints native memory usage
717
718              Impact: Medium
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              · summary: (Optional) Requests runtime to report current  memory
730                summary,  which  includes total reserved and committed memory,
731                along with memory usage summary by each subsystem.   (BOOLEAN,
732                false)
733
734              · detail:  (Optional)  Requests runtime to report memory alloca‐
735                tion >= 1K by each callsite.  (BOOLEAN, false)
736
737              · baseline: (Optional) Requests runtime to baseline current mem‐
738                ory  usage,  so  it  can  be  compared  against in later time.
739                (BOOLEAN, false)
740
741              · summary.diff: (Optional) Requests  runtime  to  report  memory
742                summary   comparison  against  previous  baseline.   (BOOLEAN,
743                false)
744
745              · detail.diff: (Optional) Requests runtime to report memory  de‐
746                tail  comparison  against  previous  baseline, which shows the
747                memory allocation activities at different  callsites.   (BOOL‐
748                EAN, false)
749
750              · shutdown:  (Optional)  Requests runtime to shutdown itself and
751                free the memory used by runtime.  (BOOLEAN, false)
752
753              · statistics: (Optional) Prints tracker  statistics  for  tuning
754                purpose.  (BOOLEAN, false)
755
756              · scale:  (Optional)  Memory  usage in which scale, KB, MB or GB
757                (STRING, KB)
758
759       VM.print_touched_methods
760              Prints all methods that have ever been touched during the  life‐
761              time of this JVM.
762
763              Impact: Medium --- depends on Java content.
764
765       VM.set_flag [arguments]
766              Sets the VM flag option by using the provided value.
767
768              Impact: Low
769
770              Permission: java.lang.management.ManagementPermission(control)
771
772              arguments:
773
774              · flag  name: The name of the flag that you want to set (STRING,
775                no default value)
776
777              · string value: (Optional)  The  value  that  you  want  to  set
778                (STRING, no default value)
779
780       VM.stringtable [options]
781              Dumps the string table.
782
783              Impact: Medium --- depends on the Java content.
784
785              Permission: java.lang.management.ManagementPermission(monitor)
786
787              Note:
788
789              The  following  options  must  be  specified using either key or
790              key=value syntax.
791
792              options:
793
794              · -verbose: (Optional) Dumps the content of each string  in  the
795                table (BOOLEAN, false)
796
797       VM.symboltable [options]
798              Dumps the symbol 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 symbol  in  the
812                table (BOOLEAN, false)
813
814       VM.systemdictionary
815              Prints  the statistics for dictionary hashtable sizes and bucket
816              length.
817
818              Impact: Medium
819
820              Permission: java.lang.management.ManagementPermission(monitor)
821
822              Note:
823
824              The following options must be  specified  using  either  key  or
825              key=value syntax.
826
827              options:
828
829              · verbose:  (Optional) Dump the content of each dictionary entry
830                for all class loaders (BOOLEAN, false) .
831
832       VM.system_properties
833              Prints the system properties.
834
835              Impact: Low
836
837              Permission: java.util.PropertyPermission(*, read)
838
839       VM.uptime [options]
840              Prints the VM uptime.
841
842              Impact: Low
843
844              Note:
845
846              The following options must be  specified  using  either  key  or
847              key=value syntax.
848
849              options:
850
851              · -date:  (Optional)  Adds a prefix with the current date (BOOL‐
852                EAN, false)
853
854       VM.version
855              Prints JVM version information.
856
857              Impact: Low
858
859              Permission: java.util.PropertyPermission(java.vm.version, read)
860
861
862
863JDK 16                               2021                              JCMD(1)
Impressum