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);
}