import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
public class MemoryInfo {
public static void main(String[] args) {
// 获取内存MXBean
MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
// 获取堆内存使用情况
MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage();
printMemoryUsage("Heap Memory", heapMemoryUsage);
// 非堆内存使用情况(如永久代或元空间)
MemoryUsage nonHeapMemoryUsage = memoryMXBean.getNonHeapMemoryUsage();
printMemoryUsage("Non-Heap Memory", nonHeapMemoryUsage);
}
private static void printMemoryUsage(String title, MemoryUsage usage) {
System.out.println(title + ":");
System.out.println(" Init: " + usage.getInit() + " bytes");
System.out.println(" Used: " + usage.getUsed() + " bytes");
System.out.println(" Committed: " + usage.getCommitted() + " bytes");
System.out.println(" Max: " + usage.getMax() + " bytes");
System.out.println();
}
}
Java 使用api打印内存
最新推荐文章于 2024-10-01 18:51:18 发布