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 API. You can register a to receive these notifications. (Note that the 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 ...

Get Java in a Nutshell, 5th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.