JRockitRuntimeMBean is not used on JRockit R28 (Doc ID 1415616.1)

Last updated on AUGUST 09, 2017

Applies to:

Oracle WebLogic Server - Version 9.2 to 10.3.2
Information in this document applies to any platform.

Symptoms

JRockit JVM is exposing its internal information through the MBean called JVMRuntime. There are two types of this MBean: JVMRuntime and JRockitRuntime.

If WebLogic detects that the JVM is not JRockit (verifying if the Java Vendor is BEA or not), the type JVMRuntime will be used and limited information is displayed. If JRockit is being used, then the type for the MBean JVMRuntime will be JRockitRuntime so additional JVM statistics will appear.

After an upgrade from JRockit R27 to R28, WebLogic Server is not able to retrieve detailed JVM statistics when accessing JVMRuntime.

The following test cases were done to reproduce the issue.

- Weblogic Server Version: 9.2 MP3
- OS: Oracle Linux 6
- Architecture: x86_64
- JVM: BEA JRockit(R) (build R27.4.0-90_CR358515-94243-1.5.0_12-20080118-1154-linux-ia32, compiled mode)

Test Case Summary
-------------------------
Find out what type of JVMRuntime MBean is used by default on JRockit R27.

Steps Reproduced
-----------------------
1. Start the Admin server.
2. Connect to the Admin server using WLST.
2.1 Set the domain environment.
2.2 Run "java weblogic.WLST"
2.3 Connnect to the domain.
3. Check the runtime MBeans by executing domainRuntime()
4. Go to ServerRuntimes -> AdminServer -> JVMRuntime -> AdminServer
5. Listed the following contents:
-r-- AllProcessorsAverageLoad 0.0
-r-- Concurrent false
-r-- FreeHeap 60437760
-r-- FreePhysicalMemory 1524723712
-r-- GCHandlesCompaction true
-r-- GcAlgorithm Dynamic GC, current strategy: Generational Parallel Mark & Sweep, generational=true, sweep=parallel, mark=parallel
-r-- Generational true
-r-- HeapFreeCurrent 60437760
-r-- HeapFreePercent 22
-r-- HeapSizeCurrent 268435456
-r-- HeapSizeMax 536870912
-r-- Incremental false
-r-- JVMDescription BEA Systems, Inc. BEA JRockit(R) version R27.4.0-90_CR358515-94243-1.5.0_12-20080118-1154-linux-ia32
-r-- JavaVMVendor BEA Systems, Inc.
-r-- JavaVendor BEA Systems, Inc.
-r-- JavaVersion 1.5.0_12
-r-- JvmProcessorLoad 0.3333333333333333
-r-- LastGCEnd 1330606708699
-r-- LastGCStart 1330606708605
-r-- Name AdminServer
-r-- NumberOfDaemonThreads 35
-r-- NumberOfProcessors 2
-r-- OSName Linux
-r-- OSVersion 2.6.39-6.el6.x86_64
-r-- Parallel true
-r-- TotalGarbageCollectionCount 3
-r-- TotalGarbageCollectionTime 205
-r-- TotalHeap 268435456
-r-- TotalNumberOfThreads 36
-r-- TotalNurserySize 134217728
-r-- TotalPhysicalMemory 4105277440
-r-- Type JRockitRuntime
-r-- Uptime 113041
-r-- UsedHeap 207997696
-r-- UsedPhysicalMemory 2580553728
-r-- Vendor BEA Systems, Inc.
-r-- Version R27.4.0-90_CR358515-94243-1.5.0_12-20080118-1154-linux-ia32
-r-x getConstructorInvocationCount Long : reflect.Constructor(constructor)
-r-x getConstructorTiming Long : reflect.Constructor(constructor)
-r-x getExceptionCount Long : Class(throwableClass)
-r-x getMethodInvocationCount Long : reflect.Method(method)
-r-x getMethodTiming Long : reflect.Method(Method)
-r-x isConstructorInvocationCountEnabled Boolean : reflect.Constructor(cons)
-r-x isConstructorTimingEnabled Boolean : reflect.Constructor(constructor)
-r-x isExceptionCountEnabled Boolean : Class(throwableClass)
-r-x isMethodInvocationCountEnabled Boolean : reflect.Method(method)
-r-x isMethodTimingEnabled Boolean : reflect.Method(method)

Result
------------
By default the JVMRuntime type is JRockitRuntime.

Comments
-------------
Since JRockitRuntime is used, additional JVM information is displayed.

 

 
- Weblogic Server Version: 9.2 MP4
- OS: Oracle Linux 6
- Architecture: x86_64
- JVM: Oracle JRockit(R) (build R28.0.1-21-133393-1.5.0_24-20100512-2126-linux-x86_64, compiled mode)

Test Case Summary
-------------------------
Find out what type of JVMRuntime MBean is used by default on JRockit R28.

Steps Reproduced
-----------------------
1. Start the Admin server.
2. Connect to the Admin server using WLST.
2.1 Set the domain environment.
2.2 Run "java weblogic.WLST"
2.3 Connnect to the domain.
3. Check the runtime MBeans by executing domainRuntime()
4. Go to ServerRuntimes -> AdminServer -> JVMRuntime -> AdminServer
5. Listed the following contents:
-r-- HeapFreeCurrent 145656904
-r-- HeapFreePercent 77
-r-- HeapSizeCurrent 268435456
-r-- HeapSizeMax 536870912
-r-- JavaVMVendor Oracle Corporation
-r-- JavaVendor Oracle Corporation
-r-- JavaVersion 1.5.0_24
-r-- Name AdminServer
-r-- OSName Linux
-r-- OSVersion 2.6.39-6.el6.x86_64
-r-- Type JVMRuntime
-r-- Uptime 105041

Result
------------
By default the JVMRuntime type is JVMRuntime.

Comments
-------------
Since JVMRuntime is used, JVM information is limited.

 

Changes

For JRockit JVM the Java vendor changed between R27 to R28, from BEA to Oracle.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms