Name

MemoryPoolMXBean

Synopsis

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 ...

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

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.