The JRockit Performance Counters

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.

perfcounters

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.

Comments:

Post a Comment:
Comments are closed for this entry.
About

A blog focused on JVM technology and Mission Control

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today