Java JMX MemoryMXBean
JMX Java About 1,595 words功能
MemoryMXBean
可以获取Java
服务的内存信息:
HeapMemoryUsage
: 堆内存使用情况NonHeapMemoryUsage
: 非堆内存使用情况ObjectPendingFinalizationCount
: 等待回收的对象数量
代码
public class MemoryMXBeanTest {
public static void main(String[] args) {
MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage();
long heapMemoryInit = heapMemoryUsage.getInit();
long heapMemoryMax = heapMemoryUsage.getMax();
long heapMemoryUsed = heapMemoryUsage.getUsed();
long heapMemoryCommitted = heapMemoryUsage.getCommitted();
System.out.println("Heap Memory Usage: " + heapMemoryUsage.toString());
MemoryUsage nonHeapMemoryUsage = memoryMXBean.getNonHeapMemoryUsage();
long nonHeapMemoryUsageInit = nonHeapMemoryUsage.getInit();
long nonHeapMemoryUsageMax = nonHeapMemoryUsage.getMax();
long nonHeapMemoryUsageUsed = nonHeapMemoryUsage.getUsed();
long nonHeapMemoryUsageCommitted = nonHeapMemoryUsage.getCommitted();
System.out.println("Non Heap Memory Usage: " + nonHeapMemoryUsage.toString());
int objectPendingFinalizationCount = memoryMXBean.getObjectPendingFinalizationCount();
System.out.println("objectPendingFinalizationCount: " + objectPendingFinalizationCount);
}
}
输出
Heap Memory Usage: init = 536870912(524288K) used = 2097152(2048K) committed = 536870912(524288K) max = 8589934592(8388608K)
Non Heap Memory Usage: init = 7667712(7488K) used = 9912352(9680K) committed = 16318464(15936K) max = -1(-1K)
objectPendingFinalizationCount: 0
Views: 728 · Posted: 2024-01-03
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...