TODO
Summary
-------
Add a new sub-command option "parallel" to the existing "GC.class_histogram" jcmd command line option, which specifies how many threads to use to generate the heap histogram.
Problem
-------
"jcmd GC.class_histogram" inspects the heap serially, which takes a long time when the heap is large. Heap iteration time can be significantly reduced by parallel iteration over the object graph.
Solution
--------
Leverage the parallel histo iteration already implemented in jmap -histo.
Specification
-------------
Updated specification.
GC.class_histogram
Provide statistics about the Java heap usage.
Impact: High: Depends on Java heap size and content.
Permission: java.lang.management.ManagementPermission(monitor)
Syntax : GC.class_histogram [options]
Options: (options must be specified using the <key> or <key>=<value> syntax)
-all : [optional] Inspect all objects, including unreachable objects (BOOLEAN, false)
-parallel : [optional] Number of parallel threads to use for heap inspection. 0 (the default) means let the VM determine the number of threads to use. 1 means use one thread (disable parallelism). For any other value the VM will try to use the specified number of threads, but might use fewer. (INT, 0)