The JRockit Performance Counters
Posted
by Marcus Hirt
on Oracle Blogs
See other posts from Oracle Blogs
or by Marcus Hirt
Published on Tue, 11 May 2010 08:49:33 +0100
Indexed on
2010/05/11
7:56 UTC
Read the original article
Hit count: 606
Every now and then I get a question regarding what the attributes in the PerfCounters dynamic MBean represent. Now, all the MBeans under the oracle.jrockit.management (bea.jrockit.management pre R28) domain are part of what we call JMXMAPI (the JRockit JMX based Management API), which is unsupported. Therefore there is no official documentation for the API.
I did however write a bit about JMXMAPI in my recent JRockit book, Oracle JRockit: The Definitive Guide. The information in the table below is from that book:
Counter | Description |
java.cls.loadedClasses | The number of classes loaded since the start of the JVM. |
java.cls.unloadedClasses | The number of classes unloaded since the start of the JVM. |
java.property.java.class.path | The class path of the JVM. |
java.property.java.endorsed.dirs | The endorsed dirs. See the Endorsed Standards Override Mechanism. |
java.property.java.ext.dirs | The ext dirs, which are searched for jars that should be automatically put on the classpath. See the Java documentation for java.ext.dirs. |
java.property.java.home | The root of the JDK or JRE installation. |
java.property.java.library.path | The library path used to find user libraries. |
java.property.java.vm.version | The JRockit version. |
java.rt.vmArgs | The list of VM arguments. |
java.threads.daemon | The number of running daemon threads. |
java.threads.live | The total number of running threads. |
java.threads.livePeak | The peak number of threads that has been running since JRockit was started. |
java.threads.nonDaemon | The number of non-daemon threads running. |
java.threads.started | The total number of threads started since the start of JRockit. |
jrockit.gc.latest.heapSize | The current heap size in bytes. |
jrockit.gc.latest.nurserySize | The current nursery size in bytes. |
jrockit.gc.latest.oc.compaction.time | How long, in ticks, the last compaction lasted. Reset to 0 if compaction is skipped. |
jrockit.gc.latest.oc.heapUsedAfter | Used heap at the end of the last OC, in bytes. |
jrockit.gc.latest.oc.heapUsedBefore | Used heap at the start of the last OC, in bytes. |
jrockit.gc.latest.oc.number | The number of OCs that have occurred so far. |
jrockit.gc.latest.oc.sumOfPauses | The paused time for the last OC, in ticks. |
jrockit.gc.latest.oc.time | The time the last OC took, in ticks. |
jrockit.gc.latest.yc.sumOfPauses | The paused time for the last YC, in ticks. |
jrockit.gc.latest.yc.time | The time the last YC took, in ticks. |
jrockit.gc.max.oc.individualPause | The longest OC pause so far, in ticks. |
jrockit.gc.max.yc.individualPause | The longest YC pause so far, in ticks. |
jrockit.gc.total.oc.compaction.externalAborted | Number of aborted external compactions so far. |
jrockit.gc.total.oc.compaction.internalAborted | Number of aborted internal compactions so far. |
jrockit.gc.total.oc.compaction.internalSkipped | Number of skipped internal compactions so far. |
jrockit.gc.total.oc.compaction.time | The total time spent doing compaction so far, in ticks. |
jrockit.gc.total.oc.ompaction.externalSkipped | Number of skipped external compactions so far. |
jrockit.gc.total.oc.pauseTime | The sum of all OC pause times so far, in ticks. |
jrockit.gc.total.oc.time | The total time spent doing OC so far, in ticks. |
jrockit.gc.total.pageFaults | The number of page faults that have occurred during GC so far. |
jrockit.gc.total.yc.pauseTime | The sum of all YC pause times, in ticks. |
jrockit.gc.total.yc.promotedObjects | The number of objects that all YCs have promoted. |
jrockit.gc.total.yc.promotedSize | The total number of bytes that all YCs have promoted, in bytes. |
jrockit.gc.total.yc.time | The total time spent doing YC, in ticks. |
oracle.ci.jit.count | The number of methods JIT compiled. |
oracle.ci.jit.timeTotal | The total time spent JIT compiling, in ticks. |
oracle.ci.opt.count | The number of methods optimized. |
oracle.ci.opt.timeTotal | The total time spent optimizing, in ticks. |
oracle.rt.counterFrequency | Used to convert ticks values to seconds. |
Note that many of these counters are excellent choices for attributes to plot in the Management Console. Also note that many values are in ticks – to convert them to seconds, divide by the value in the oracle.rt.counterFrequency counter.
© Oracle Blogs or respective owner