com.sun.rtsjx
Interface RealtimeMemoryManagerMXBean


public interface RealtimeMemoryManagerMXBean

Monitoring the most important attributes for the RTGC.

This class is still under development and may evolve for the future versions of the product.

For a complete description of the RTGC, look at the Java RTS Garbage Collection Guide. This is a short summary relevant for this particular MBean.


Method Summary
 long getAllocatedBytes()
          Total bytes allocated.
 long getCurrentFragmentedBytes()
          Size of the free heap memory that is not currently allocatable.
 long getCurrentNonFragmentedBytes()
          Size of the non fragmented free memory.
 java.lang.String getDescription()
          Short description of the MBean.
 int getLastCyclePercentageCPU()
          Percentage of CPU time used during the last GC cycle.
 com.sun.management.GcInfo getLastGcInfo()
          Direct reference to GarbageCollectorMXBean.GcInfo.
 int getLastGCPercentageCPU()
          Percentage of CPU time used during the last GC run.
 int getLongTermPercentageCPU()
          Percentage of CPU time used since the last reset.
 long getRecentAllocationRate()
          Bytes per milliseconds since the last call to reset().
 void reset()
          Resets the worst case numbers and long term usage computation.
 

Method Detail

getDescription

java.lang.String getDescription()
Short description of the MBean.

Returns:
a string describing this MBean.

getCurrentNonFragmentedBytes

long getCurrentNonFragmentedBytes()
Size of the non fragmented free memory.

If this value is too low, slower allocation mechanism might be used.

Returns:
the non fragmented size, in bytes.

getCurrentFragmentedBytes

long getCurrentFragmentedBytes()
Size of the free heap memory that is not currently allocatable.

Free blocks that are smaller than a given size are handled differently to improve throughput. They are considered as used but will be recycled if memory is nearly exhausted.

Returns:
fragmented size, in bytes.

getLastGcInfo

com.sun.management.GcInfo getLastGcInfo()
Direct reference to GarbageCollectorMXBean.GcInfo.

GarbageCollectorMXBean.GcInfo is a composite data. This attribute contains a lot of information about each GC cycle and its content may evolve from one release to the other.

The most important attributes are:

Returns:
the last GarbageCollectorMXBean.GcInfo

getLastGCPercentageCPU

int getLastGCPercentageCPU()
Percentage of CPU time used during the last GC run.

This defines the temporary impact of the RTGC in terms of throughput. It can be greater than 100 on multi-processor system. 100 is equivalent to one CPU full time.

Returns:
CPU time used during the last GC run

getLastCyclePercentageCPU

int getLastCyclePercentageCPU()
Percentage of CPU time used during the last GC cycle. This takes into account the elapsed time since the end of previous GC cycle.

This shows how the RTGC impacts the application throughput over time. behavior of the application. It can be greater than 100 on multi-processor system. 100 is equivalent to one CPU full time.

Returns:
CPU time used during the last GC cycle

getLongTermPercentageCPU

int getLongTermPercentageCPU()
Percentage of CPU time used since the last reset.

This defines the long term impact of the garbage collector in terms of throughput. It can be greater than 100 on multi-processor system. 100 is equivalent to one CPU full time.

Returns:
CPU time used since the last reset

getAllocatedBytes

long getAllocatedBytes()
Total bytes allocated.

This gives an idea of the application behavior.

Returns:
allocated bytes

getRecentAllocationRate

long getRecentAllocationRate()
Bytes per milliseconds since the last call to reset().

Returns:
bytes per milliseconds

reset

void reset()
Resets the worst case numbers and long term usage computation.

This impacts the allocation rate and the long term overhead values.