RFR: JVMStat heap region counters
Roman Kennke
rkennke at redhat.com
Wed Dec 14 15:29:26 UTC 2016
This adds some infrastructure to monitor each heap region via JVMStat.
It currently exposes for each region the number of used and live bytes,
plus information whether the region is humongous, in the collection
set, or unused (i.e. not yet allocated, when heap is growable). In
addition, it provides the number of regions and their size as
constants, and flags that tell if marking and evacuation is in
progress.
For the region data, it uses a packed format so that all info per
region fits in one jlong counter. Should save bandwidth, especially
when monitoring via network.
The names of the counters and their format is documented in the header
file. It's subject to changes, especially in the nearer future.
It ups the PerfDataMemorySize for Shenandoah, so that we can fit in all
those counters.
In order to use it, one must provide -XX:+UsePerfData to turn on
JVMStat, and -XX:+ShenandoahRegionSampling to provide live region data.
The sampling rate can be set via -XX:ShenandoahRegionSamplingRate=$MS
that tells the number of milliseconds between samples. The latter both
flags can also be turned on via JMX (i.e. writable(Always)) , which is
especially useful for temporarily turning on monitoring from a tool.
http://cr.openjdk.java.net/~rkennke/regioncounters/webrev.00/
Ok?
Roman
More information about the shenandoah-dev
mailing list