JavaのJVMメモリをどのように読み取りますか
ManagementFactoryクラスを使えば、JVMのメモリ情報を取得できます。次のようなコードがその例です。
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryMXBean;
import java.lang.management.MemoryUsage;
public class JVMMemoryReader {
public static void main(String[] args) {
MemoryMXBean memoryMXBean = ManagementFactory.getMemoryMXBean();
MemoryUsage heapMemoryUsage = memoryMXBean.getHeapMemoryUsage();
MemoryUsage nonHeapMemoryUsage = memoryMXBean.getNonHeapMemoryUsage();
System.out.println("Heap Memory Usage:");
System.out.println(" Init: " + heapMemoryUsage.getInit());
System.out.println(" Used: " + heapMemoryUsage.getUsed());
System.out.println(" Committed: " + heapMemoryUsage.getCommitted());
System.out.println(" Max: " + heapMemoryUsage.getMax());
System.out.println("Non-Heap Memory Usage:");
System.out.println(" Init: " + nonHeapMemoryUsage.getInit());
System.out.println(" Used: " + nonHeapMemoryUsage.getUsed());
System.out.println(" Committed: " + nonHeapMemoryUsage.getCommitted());
System.out.println(" Max: " + nonHeapMemoryUsage.getMax());
}
}
上記コードを実行すると、JVMのヒープメモリと非ヒープメモノの使用状況が出力されます。