Memory Monitoring and Management Platform MBeans: Difference between revisions
Line 25: | Line 25: | ||
{{External|http://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryUsage.html}} | {{External|http://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryUsage.html}} | ||
<tt>MemoryUsage</tt> instances represent memory snapshots, and they are used by the JVM to represent both heap and non-heap [[Java_Memory_Concepts#Memory_Pool|memory pools]]. | |||
=Memory Pool MBeans= | =Memory Pool MBeans= |
Revision as of 18:09, 9 May 2017
External
- http://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryManagerMXBean.html
- http://docs.oracle.com/javase/8/docs/api/java/lang/management/MemoryPoolMXBean.html
- http://docs.oracle.com/javase/8/docs/api/java/lang/management/BufferPoolMXBean.html
- http://docs.oracle.com/javase/8/docs/api/java/lang/management/GarbageCollectorMXBean.html
Internal
Memory MBean
The Memory MBean implements the MemoryMXBean interface, and exists as a singleton instance in the JVM. The MBean instance is accessible from the platform MBean server, either programmatically by calling ManagementFactory.getMemoryMXBean() method, or by looking up the "java.lang:type=Memory" JMX ObjectName.
The Memory MBean exposes information about the heap and the non-heap memory. Heap and non-heap memory information is returned as snapshots in the form of MemoryUsage instances.
The Memory MBean also exposes the "ObjectPendingFinalizationCount" JMX attribute, which is the approximate number for which finalization is pending.
MemoryUsage Instance
MemoryUsage instances represent memory snapshots, and they are used by the JVM to represent both heap and non-heap memory pools.