Team LiB
Previous Section Next Section

MemoryPoolMXBeanjava.lang.management

Java 5.0

This MXBean interface allows monitoring of the current and peak memory usage for a single memory pool. Typical Java VM implementations segregate garbage-collected heap memory into two or more memory pools based on the age of the objects. Obtain a List of MemoryPoolMXBean instances with ManagementFactory.getMemoryPoolMXBeans( ). getName( ) and getType( ) return the name and type of each pool. getUsage( ) and getPeakUsage( ) return the current and peak memory usage for the pool in the form of a MemoryUsage object.

If isUsageThresholdSupported( ) returns TRue, you can use setUsageThreshold( ) to define a memory usage threshold. The MemoryPoolMXBean then keeps track of threshold crossings and issues notifications through the javax.management.NotificationEmitter API. You can register a javax.management.NotificationListener to receive these notifications. (Note that the javax.management package is not covered in this book.) Use setCollectionUsageThreshold( ) instead to receive notifications when memory usage exceeds a specified threshold after a garbage collection pass.

public interface MemoryPoolMXBean {
// Public Instance Methods
     MemoryUsage getCollectionUsage( );  
     long getCollectionUsageThreshold( );  
     long getCollectionUsageThresholdCount( );  
     String[ ] getMemoryManagerNames( );  
     String getName( );  
     MemoryUsage getPeakUsage( );  
     MemoryType getType( );  
     MemoryUsage getUsage( );  
     long getUsageThreshold( );  
     long getUsageThresholdCount( );  
     boolean isCollectionUsageThresholdExceeded( );  
     boolean isCollectionUsageThresholdSupported( );  
     boolean isUsageThresholdExceeded( );  
     boolean isUsageThresholdSupported( );  
     boolean isValid( );  
     void resetPeakUsage( );  
     void setCollectionUsageThreshold(long threhsold);  
     void setUsageThreshold(long threshold);  
}

    Team LiB
    Previous Section Next Section