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.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 Event settings and .jfc options can be specified using the fol‐
449 lowing syntax:
450
451 • option: (Optional) Specifies the option value to modify. To
452 list available options, use the JAVA_HOME/bin/jfr tool.
453
454 • event-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
478 • filename: (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
483 • name: (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
495 • library path: Absolute path of the JVMTI agent to load.
496 (STRING, no default value)
497
498 • agent 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
520 • config.file: (Optional) Sets com.sun.management.config.file
521 (STRING, no default value)
522
523 • jmxremote.host: (Optional) Sets com.sun.management.jmxre‐
524 mote.host (STRING, no default value)
525
526 • jmxremote.port: (Optional) Sets com.sun.management.jmxre‐
527 mote.port (STRING, no default value)
528
529 • jmxremote.rmi.port: (Optional) Sets com.sun.management.jmxre‐
530 mote.rmi.port (STRING, no default value)
531
532 • jmxremote.ssl: (Optional) Sets com.sun.management.jmxre‐
533 mote.ssl (STRING, no default value)
534
535 • jmxremote.registry.ssl: (Optional) Sets com.sun.manage‐
536 ment.jmxremote.registry.ssl (STRING, no default value)
537
538 • jmxremote.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
544 • jmxremote.access.file: (Optional) Sets com.sun.manage‐
545 ment.jmxremote.acce ss.file (STRING, no default value)
546
547 • jmxremote.login.config: (Optional) Sets com.sun.manage‐
548 ment.jmxremote.log in.config (STRING, no default value)
549
550 • jmxremote.ssl.enabled.cipher.suites: (Optional) Sets
551 com.sun.management.
552
553 • jmxremote.ssl.enabled.cipher.suite: (STRING, no default value)
554
555 • jmxremote.ssl.enabled.protocols: (Optional) Sets com.sun.man‐
556 agement.jmxr emote.ssl.enabled.protocols (STRING, no default
557 value)
558
559 • jmxremote.ssl.need.client.auth: (Optional) Sets com.sun.man‐
560 agement.jmxre mote.need.client.auth (STRING, no default value)
561
562 • jmxremote.ssl.config.file: (Optional) Sets com.sun.manage‐
563 ment.jmxremote. ssl_config_file (STRING, no default value)
564
565 • jmxremote.autodiscovery: (Optional) Sets com.sun.manage‐
566 ment.jmxremote.au todiscovery (STRING, no default value)
567
568 • jdp.port: (Optional) Sets com.sun.management.jdp.port (INT, no
569 default value)
570
571 • jdp.address: (Optional) Sets com.sun.management.jdp.address
572 (STRING, no default value)
573
574 • jdp.source_addr: (Optional) Sets com.sun.manage‐
575 ment.jdp.source_addr (STRING, no default value)
576
577 • jdp.ttl: (Optional) Sets com.sun.management.jdp.ttl (INT, no
578 default value)
579
580 • jdp.pause: (Optional) Sets com.sun.management.jdp.pause (INT,
581 no default value)
582
583 • jdp.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
653 • classname: (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
693 • output: (Optional) The name or index (#) of output to config‐
694 ure. (STRING, no default value)
695
696 • output_options: (Optional) Options for the output. (STRING,
697 no default value)
698
699 • what: (Optional) Configures what tags to log. (STRING, no de‐
700 fault value )
701
702 • decorators: (Optional) Configures which decorators to use.
703 Use 'none' or an empty value to remove all. (STRING, no de‐
704 fault value)
705
706 • disable: (Optional) Turns off all logging and clears the log
707 configuration. (BOOLEAN, no default value)
708
709 • list: (Optional) Lists current log configuration. (BOOLEAN,
710 no default value)
711
712 • rotate: (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
746 • summary: (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
751 • detail: (Optional) Requests runtime to report memory alloca‐
752 tion >= 1K by each callsite. (BOOLEAN, false)
753
754 • baseline: (Optional) Requests runtime to baseline current mem‐
755 ory usage, so it can be compared against in later time.
756 (BOOLEAN, false)
757
758 • summary.diff: (Optional) Requests runtime to report memory
759 summary comparison against previous baseline. (BOOLEAN,
760 false)
761
762 • detail.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
767 • shutdown: (Optional) Requests runtime to shutdown itself and
768 free the memory used by runtime. (BOOLEAN, false)
769
770 • statistics: (Optional) Prints tracker statistics for tuning
771 purpose. (BOOLEAN, false)
772
773 • scale: (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
791 • flag name: The name of the flag that you want to set (STRING,
792 no default value)
793
794 • string 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
846 • verbose: (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)