0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Java仮想マシンのメモリー

Last updated at Posted at 2023-11-17

Runtime

JavaアプリケーションはすべてRuntimeクラスの単一のインスタンスを持ちます。このクラスは、アプリケーションとアプリケーション実行環境とのインタフェースになります。現在のRuntimeオブジェクトは、getRuntimeメソッドにより取得できます。

  • public long totalMemory()
    Java仮想マシンのメモリーの総容量を返します。ホストの環境によっては、このメソッドによって返される値が時間とともに変化する場合があります。
    任意の指定された型のオブジェクトを格納するのに必要なメモリー容量は、実装によって異なります。
    戻り値:
    現在および将来のオブジェクトに利用可能な現在のメモリーの総容量(バイト単位)。
  • public long maxMemory()
    Java仮想マシンが使用を試みる最大メモリー容量を返します。固有の制限が存在しない場合、値Long.MAX_VALUEが返されます。
    戻り値:
    仮想マシンが使用を試みる最大メモリー容量(単位はバイト)

実装確認

サンプルコード

public class HeapTest {

  public static void main(String[] args) {

    long initm = Runtime.getRuntime().totalMemory()/1024/1024;
    long maxm = Runtime.getRuntime().maxMemory()/1024/1024;
    
    System.out.println("Runtime start memory:"+initm+"M");
    System.out.println("Runtime max memory:"+maxm+"M");
    
    System.out.println("System memory:"+initm*64/1024+"G");
    System.out.println("System memory:"+maxm*4/1024+"G");
  }
}
Runtime start memory:243M
Runtime max memory:3586M
System memory:15G
System memory:14G

システム物理メモリー
image.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?