# JRockitRuntimeMBean

Overview | Related MBeans | Attributes | Operations

## Overview

Exposes runtime data about the JRockit Virtual Machine (VM) that is running the current WebLogic Server instance. You cannot change the VM's operating parameters while the VM is active. Instead, use the startup options that are described in the JRockit documentation.

Fully Qualified Interface Name | If you use the `getMBeanInfo` operation in MBeanTypeServiceMBean, supply the following value as this MBean's fully qualified interface name: `weblogic.management.runtime.JRockitRuntimeMBean`
Factory Methods | No factory methods. Instances of this MBean are created automatically.
Access Points Inherited from JVMRuntimeMBean | Because this MBean extends or implements JVMRuntimeMBean, you can also access this MBean by retrieving JVMRuntimeMBeans. The following attributes contain JVMRuntimeMBeans and its subtypes:
ServerRuntimeMBean.JVMRuntime |

## Attributes

This section describes the following attributes:

AllProcessorsAverageLoad Concurrent FreeHeap FreePhysicalMemory GcAlgorithm GCHandlesCompaction Generational HeapFreeCurrent HeapFreePercent HeapSizeCurrent HeapSizeMax Incremental JavaVendor JavaVersion JavaVMVendor JVMDescription JvmProcessorLoad LastGCEnd LastGCStart Name | NumberOfDaemonThreads NumberOfProcessors OSName OSVersion Parallel Parent ThreadStackDump TotalGarbageCollectionCount TotalGarbageCollectionTime TotalHeap TotalNumberOfThreads TotalNurserySize TotalPhysicalMemory Type Uptime UsedHeap UsedPhysicalMemory Vendor Version

### AllProcessorsAverageLoad

A snapshot of the average load of all processors in the host computer. If the computer has only one processor, this method returns the same value as `getJvmProcessorLoad(0)`.

The value is returned as a double, where 1.0 represents 100% load (no idle time) and 0.0 represents 0% load (pure idle time).

For more information, see:

- getProcessorLoad(int)

Privileges | Read only
Type | double

### Concurrent

Indicates whether the VM's garbage collector runs in a separate Java thread concurrently with other Java threads.

Privileges | Read only
Type | boolean

### FreeHeap

The amount (in bytes) of Java heap memory that is currently free in the Virtual Machine.

Privileges | Read only
Type | long

### FreePhysicalMemory

The amount (in bytes) of physical memory that is currently free on the host computer.

Privileges | Read only
Type | long

### GcAlgorithm

The type of garbage collector (GC) that the Virtual Machine is using.

JRockit provides the following types of GCs:

- Generational Copying, which is suitable for testing applications on a desktop machine with a small (less then 128 MB) heap.

- Single Spaced Concurrent, which reduces or eliminates pauses in the VM that are due to garbage collection. Because it trades memory throughput for reduced pause time, you generally need a larger heap size than with other GC types. If your ordinary Java threads create more garbage than this GC can collect, the VM will pause while the Java threads wait for the garbage collection to finish.

- Generational Concurrent, which creates a "nursery" space within the heap. New objects are created within the nursery. When the nursery is full, JRockit "stops-the-world," removes the dead objects from the nursery, and moves live objects to a different space within the heap. Another thread runs in the background to remove dead objects from the non-nursery space. This GC type has a higher memory throughput than a single spaced concurrent GC.

- Parallel, which allocates all objects to a single spaced heap. When the heap is full, all Java threads are stopped and every CPU is used to perform a complete garbage collection of the entire heap. This behavior causes longer pause times than for the concurrent collectors but maximizes memory throughput.

Privileges | Read only
Type | java.lang.String

### GCHandlesCompaction

Indicates whether the VM's garbage collector compacts the Java heap.

Usually the heap is scattered throughout available memory. A garbage collector that compacts the heap defragments the memory space in addition to deleting unused objects.

Privileges | Read only
Type | boolean

### Generational

Indicates whether the VM's garbage collector uses a nursery space.

A nursery is the area of the Java heap that the VM allocates to most objects. Instead of garbage collecting the entire heap, generational garbage collectors focus on the nursery. Because most objects die young, most of the time it is sufficient to garbage collect only the nursery and not the entire heap.

Privileges | Read only
Type | boolean

### HeapFreeCurrent

The current amount of memory (in bytes) that is available in the JVM heap.

Privileges | Read only
Type | long

### HeapFreePercent

Percentage of the maximum memory that is free.

Privileges | Read only
Type | int

### HeapSizeCurrent

The current size (in bytes) of the JVM heap.

Privileges | Read only
Type | long

### HeapSizeMax

The maximum free memory configured for this JVM.

Privileges | Read only
Type | long

### Incremental

Indicates whether the VM's garbage collector collects (increments) garbage as it scans the memory space and dumps the garbage at the end of its cycle.

With a non-incremental garbage collector, garbage is dumped as soon as it is encountered.

Privileges | Read only
Type | boolean

### JavaVendor

Returns the vendor of Java.

The vendor of Java that this server runs.

Privileges | Read only
Type | java.lang.String

### JavaVersion

The Java version of the JVM.

Privileges | Read only
Type | java.lang.String

### JavaVMVendor

Returns the vendor of the JVM.

The vendor of the JVM that this server runs.

system property java.vm.vendor is returned

Privileges | Read only
Type | java.lang.String

### JVMDescription

A description of the Java Virtual Machine. For example, "BEA WebLogic JRockit Java Virtual Machine."

Privileges | Read only
Type | java.lang.String

### JvmProcessorLoad

A snapshot of the load that the Virtual Machine is placing on all processors in the host computer. If the host contains multiple processors, the value represents a snapshot of the average load.

The value is returned as a double, where 1.0 represents 100% load (no idle time) and 0.0 represents 0% load (pure idle time).

Privileges | Read only
Type | double

### LastGCEnd

The time at which the last garbage collection run ended.

Privileges | Read only
Type | long

### LastGCStart

The time at which the last garbage collection run started.

Privileges | Read only
Type | long

### Name

The name of the Java Virtual Machine. For example, "WebLogic JRockit."

Privileges | Read only
Type | java.lang.String

### NumberOfDaemonThreads

The number of daemon Java threads currently running in the Virtual Machine across all processors.

Privileges | Read only
Type | int

### NumberOfProcessors

The number of processors on the Virtual Machine's host computer. If this is not a Symmetric Multi Processor (SMP) system, the value will be `1`.

Privileges | Read only
Type | int

### OSName

Returns the operating system on which the JVM is running.

The operating system on which the JVM is running.

Privileges | Read only
Type | java.lang.String

### OSVersion

The version of the operating system on which the JVM is running.

Privileges | Read only
Type | java.lang.String

### Parallel

Indicates whether the VM's garbage collector is able to run in parallel on multiple processors if multiple processors are available.

Privileges | Read only
Type | boolean

### Parent

Return the immediate parent for this MBean

Privileges | Read/Write
Type |

### ThreadStackDump

JVM thread dump. Thread dump is available only on 1.5 VM

Privileges | Read only
Type | java.lang.String

### TotalGarbageCollectionCount

The number of garbage collection runs that have occurred since the Virtual Machine was started.

Privileges | Read only
Type | long

### TotalGarbageCollectionTime

The number of milliseconds that the Virtual Machine has spent on all garbage collection runs since the VM was started.

Privileges | Read only
Type | long

### TotalHeap

The amount (in bytes) of memory currently allocated to the Virtual Machine's Java heap.

This value, which is also known as the "heap size," may grow up to the specified maximum heap size.

For more information, see:

- getMaxHeapSize

Privileges | Read only
Type | long

### TotalNumberOfThreads

The number of Java threads (daemon and non-daemon) that are currently running in the Virtual Machine across all processors.

Privileges | Read only
Type | int

### TotalNurserySize

The amount (in bytes) of memory that is currently allocated to the nursery.

The nursery is the area of the Java heap that the VM allocates to most objects. Instead of garbage collecting the entire heap, generational garbage collectors focus on the nursery. Because most objects die young, most of the time it is sufficient to garbage collect only the nursery and not the entire heap.

If you are not using a generational garbage collector, the nursery size is ``0``.

Privileges | Read only
Type | long

### TotalPhysicalMemory

The amount (in bytes) of physical memory on the host computer.

The value does not include memory that an operating makes available through swap space on a disk or other types of virtual memory.

Privileges | Read only
Type | long

### Type

Returns the type of the MBean.

Privileges | Read only
Type | java.lang.String

### Uptime

The number of milliseconds that the Virtual Machine has been running.

Privileges | Read only
Type | long

### UsedHeap

The amount (in bytes) of Java heap memory that is currently being used by the Virtual Machine.

Privileges | Read only
Type | long

### UsedPhysicalMemory

The amount (in bytes) of physical memory that is currently being used on the host computer.

The value describes the memory that is being used by all processes on the computer, not just by the Virtual Machine.

Privileges | Read only
Type | long

### Vendor

The name of the JVM vendor. For example, "BEA Systems Inc."

Privileges | Read only
Type | java.lang.String

### Version

The current version of Java Virtual Machine.

Privileges | Read only
Type | java.lang.String

## Operations

This section describes the following operations:

getConstructorInvocationCount getConstructorTiming getExceptionCount getMethodInvocationCount getMethodTiming isConstructorInvocationCountEnabled | isConstructorTimingEnabled isExceptionCountEnabled isMethodInvocationCountEnabled isMethodTimingEnabled

### getConstructorInvocationCount

The number of times a constructor has been invoked since enabling invocation counting.

Operation Name | `"getConstructorInvocationCount"`
Parameters | `Object [] { constructor }` where: `constructor` is an object of type `java.lang.reflect.Constructor` that specifies: - the constructor for which to return the invocation count.
Signature | `String [] { "java.lang.reflect.Constructor" }`
Returns | `long`
Exceptions | `weblogic.management.utils.NotFoundException`

### getConstructorTiming

The amount of time (in milliseconds) the Virtual Machine has spent in the constructor since enabling time measuring.

If time measuring hasn't been enabled for the specified constructor, this method returns a null value.

Operation Name | `"getConstructorTiming"`
Parameters | `Object [] { constructor }` where: `constructor` is an object of type `java.lang.reflect.Constructor` that specifies: the constructor you want to check.
Signature | `String [] { "java.lang.reflect.Constructor" }`
Returns | `long`
Exceptions | `weblogic.management.utils.NotFoundException`

### getExceptionCount

The number of times an exception type has been thrown since enabling exception counting. If exception counting has not been enabled for the specified type, the result is unspecified.

Operation Name | `"getExceptionCount"`
Parameters | `Object [] { throwableClass }` where: `throwableClass` is an object of type `java.lang.Class` that specifies: the exception class to get the counter for. If the throwableClass is null, a NullPointerException will be thrown.
Signature | `String [] { "java.lang.Class" }`
Returns | `long`

### getMethodInvocationCount

The number of times a method has been invoked since enabling invocation counting.

Operation Name | `"getMethodInvocationCount"`
Parameters | `Object [] { method }` where: `method` is an object of type `java.lang.reflect.Method` that specifies: the method you want to check.
Signature | `String [] { "java.lang.reflect.Method" }`
Returns | `long`
Exceptions | `weblogic.management.utils.NotFoundException`

### getMethodTiming

The amount of time (in milliseconds) the Virtual Machine has spent in the method since enabling time measuring.

If time measuring has not been enabled for the specified method, this method returns a null value.

Operation Name | `"getMethodTiming"`
Parameters | `Object [] { Method }` where: `Method` is an object of type `java.lang.reflect.Method` that specifies: the method we wish to check.
Signature | `String [] { "java.lang.reflect.Method" }`
Returns | `long`
Exceptions | `weblogic.management.utils.NotFoundException`

### isConstructorInvocationCountEnabled

Indicates whether the Virtual Machine counts how many times a constructor is invoked.

Operation Name | `"isConstructorInvocationCountEnabled"`
Parameters | `Object [] { cons }` where: `cons` is an object of type `java.lang.reflect.Constructor` that specifies: the constructor you want to check.
Signature | `String [] { "java.lang.reflect.Constructor" }`
Returns | `boolean`
Exceptions | `weblogic.management.utils.NotFoundException`

### isConstructorTimingEnabled

Indicates whether the Virtual Machine measures how much time it spends in a constructor.

Operation Name | `"isConstructorTimingEnabled"`
Parameters | `Object [] { constructor }` where: `constructor` is an object of type `java.lang.reflect.Constructor` that specifies: the constructor you want to check.
Signature | `String [] { "java.lang.reflect.Constructor" }`
Returns | `boolean`
Exceptions | `weblogic.management.utils.NotFoundException`

### isExceptionCountEnabled

Indicates whether the Virtual Machine counts how many times an exception is thrown.

Operation Name | `"isExceptionCountEnabled"`
Parameters | `Object [] { throwableClass }` where: `throwableClass` is an object of type `java.lang.Class` that specifies: the exception class to get the counter for.
Signature | `String [] { "java.lang.Class" }`
Returns | `boolean`
Exceptions | `java.lang.ClassCastException`

### isMethodInvocationCountEnabled

Indicates whether the Virtual Machine counts how many times a method is invoked.

Operation Name | `"isMethodInvocationCountEnabled"`
Parameters | `Object [] { method }` where: `method` is an object of type `java.lang.reflect.Method` that specifies: the method you want to check.
Signature | `String [] { "java.lang.reflect.Method" }`
Returns | `boolean`
Exceptions | `weblogic.management.utils.NotFoundException`

### isMethodTimingEnabled

Indicates whether the Virtual Machine measures how much time it spends in a method.

Operation Name | `"isMethodTimingEnabled"`
Parameters | `Object [] { method }` where: `method` is an object of type `java.lang.reflect.Method` that specifies: the method you want to check.
Signature | `String [] { "java.lang.reflect.Method" }`
Returns | `boolean`
Exceptions | `weblogic.management.utils.NotFoundException`