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