Javaプロセスに割り当てられているメモリ情報を取得する
Runtimeクラスから取得できます。忘れていたので備忘録としてメモ。
ソースコード
Runtime runtime = Runtime.getRuntime(); long totalMemory = runtime.totalMemory(); long maxMemory = runtime.maxMemory(); long freeMemory = runtime.freeMemory(); long usedMemory = totalMemory - freeMemory; double ratio = (double) ((double) usedMemory / (double) totalMemory); DecimalFormat memoryFormat = new DecimalFormat("#,###KB"); DecimalFormat ratioFormat = new DecimalFormat("##.##%"); System.out.println("Total:" + memoryFormat.format(totalMemory / 1024)); System.out.println("Free :" + memoryFormat.format(freeMemory / 1024)); System.out.println("Used :" + memoryFormat.format(usedMemory / 1024) + "(" + ratioFormat.format(ratio) + ")"); System.out.println("Max :" + memoryFormat.format(maxMemory / 1024));
実行結果
Total:83,008KB
Free :81,621KB
Used :1,386KB(1.67%)
Max :126,912KB