Javaで使用できるメモリ容量を取得するには java.lang.Runtimeクラスを使用します。
以下の値を取得できます。
- Runtime#freeMemory() JavaVMの空きメモリーの容量
- Runtime#maxMemory() JavaVMが使用を試みる最大メモリ容量
- Runtime#totalMemory() JavaVMに割り当てられているメモリーの総容量
サンプルソース
例)各種メモリ情報を取得する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
public class MemorySample { public static void main(String[] args) { Runtime r = Runtime.getRuntime(); long freeMem = r.freeMemory(); //空容量 long maxMem = r.maxMemory(); //使用を試みる最大容量 long totalMem = r.totalMemory(); //割り当てられている容量 long useMem = totalMem - freeMem; //使用量 System.out.println("空メモリ:" + freeMem + "バイト"); System.out.println("最大メモリ:" + maxMem + "バイト"); System.out.println("割り当てメモリ:" + totalMem + "バイト"); System.out.println("使用メモリ:" + useMem + "バイト"); } } |
- (結果)
- 空メモリ:125535480バイト 最大メモリ:1875378176バイト 割り当てメモリ:126877696バイト 使用メモリ:1342216バイト
備考
- メモリ使用量だけは直接取得するメソッドが無いので、割容量から空容量を引いて算出します。