java.lang.Object
java.lang.management.MemoryUsage
public class MemoryUsage extends Object
MemoryUsage
オブジェクトは、メモリー使用量のスナップショットを表します。 通常、MemoryUsage
クラスのインスタンスは、Java仮想マシンの個々のメモリー・プールやJava仮想マシンのヒープまたはヒープ以外のメモリーに関するメモリー使用量情報を総括して取得するのに使用されるメソッドにより成り立っています。
MemoryUsage
オブジェクトには、次の4つの値があります。
値 | 説明 |
---|---|
init |
起動中にJava仮想マシンがオペレーティング・システムから要求するメモリー管理のための初期メモリー量(バイト単位)を表す。 Java仮想マシンは、オペレーティング・システムから追加のメモリーを要求したり、システム時間の経過とともにメモリーを解放したりすることもできる。 init の値は指定しなくてもかまわない。
|
used |
現在使用されているメモリーの量(バイト単位)を表す |
committed |
Java仮想マシンが使用できることが保証されているメモリーの量(バイト単位)を表す。 コミットされたメモリーの量は、時間の経過とともに変化(増減)する。 Java仮想マシンはシステムに対してメモリーを解放できる。committed はinit 未満であることも可能。committed は、常にused 以上になる。
|
max |
メモリー管理に使用できる最大メモリー量(バイト単位)を表す。 この値は定義しないことも可能。 定義する場合、メモリーの最大量は時間の経過とともに変化する可能性がある。 max が定義された場合、usedおよびcommittedメモリーの量は常にmax 以下になる。 used <= max がtrueの場合でもused > committed などのように、usedメモリーを増やそうとするとメモリーの割当てが失敗する可能性がある(たとえば、システムの仮想メモリーが少ない場合)。
|
+----------------------------------------------+ +//////////////// | + +//////////////// | + +----------------------------------------------+ |--------| init |---------------| used |---------------------------| committed |----------------------------------------------| max
MXBeanのマッピング
MemoryUsage
は、from
メソッドで指定された属性を持つCompositeData
にマッピングされます。- 導入されたバージョン:
- 1.5
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 MemoryUsage(long init, long used, long committed, long max)
MemoryUsage
オブジェクトを構築します。 -
メソッドのサマリー
修飾子と型 メソッド 説明 static MemoryUsage
from(CompositeData cd)
指定されたCompositeData
によって表されるMemoryUsage
オブジェクトを返します。long
getCommitted()
Java仮想マシンが使用するようコミットされたメモリーの量(バイト単位)を返します。long
getInit()
Java仮想マシンが初期にメモリー管理についてオペレーティング・システムから要求するメモリーの量(バイト単位)を返します。long
getMax()
メモリー管理に使用できる最大メモリー量(バイト単位)を返します。long
getUsed()
usedメモリーの量(バイト単位)を返します。String
toString()
このメモリーの使用量の説明的表現を返します。
-
コンストラクタの詳細
-
MemoryUsage
public MemoryUsage(long init, long used, long committed, long max)MemoryUsage
オブジェクトを構築します。- パラメータ:
init
- Java仮想マシンが割り当てる初期メモリー量(バイト単位)。定義されていない場合は-1
。used
- usedメモリーの量(バイト単位)。committed
- committedメモリーの量(バイト単位)。max
- 使用できる最大メモリー量(バイト単位)。定義されていない場合は-1
。- 例外:
IllegalArgumentException
- 次の場合-
init
またはmax
が負の値で、-1
ではない、または -
used
またはcommitted
が負の値である、または -
used
がcommitted
の値より大きい、または -
committed
がmax
の値より大きい。定義されている場合はmax
。
-
-
-
メソッドの詳細
-
getInit
public long getInit()Java仮想マシンが初期にメモリー管理についてオペレーティング・システムから要求するメモリーの量(バイト単位)を返します。 初期メモリー・サイズが未定義の場合、このメソッドは-1
を返します。- 戻り値:
- メモリーの初期サイズ(バイト単位)。定義されていない場合は
-1
。
-
getUsed
public long getUsed()usedメモリーの量(バイト単位)を返します。- 戻り値:
- usedメモリーの量(バイト単位)
-
getCommitted
public long getCommitted()Java仮想マシンが使用するようコミットされたメモリーの量(バイト単位)を返します。 このメモリーの量は、Java仮想マシンが使用するよう保証された量です。- 戻り値:
- committedメモリーの量(バイト単位)
-
getMax
public long getMax()メモリー管理に使用できる最大メモリー量(バイト単位)を返します。 最大メモリー・サイズが未定義の場合、このメソッドは-1
を返します。このメモリーの量がcommittedメモリーの量より大きい場合、このメモリー量はメモリー管理に利用できることが保証されません。 usedメモリーの量がこの最大サイズを超えない場合でも、Java仮想マシンはメモリーの割当てに失敗する可能性があります。
- 戻り値:
- 最大メモリー量(バイト単位)。定義されていない場合は
-1
。
-
toString
public String toString()このメモリーの使用量の説明的表現を返します。 -
from
public static MemoryUsage from(CompositeData cd)指定されたCompositeData
によって表されるMemoryUsage
オブジェクトを返します。 指定されたCompositeData
は、次の属性を含む必要があります。属性名 型 init java.lang.Long
used java.lang.Long
committed java.lang.Long
max java.lang.Long
- パラメータ:
cd
-MemoryUsage
を表すCompositeData
- 戻り値:
cd
がnull
でない場合はcd
により表されるMemoryUsage
オブジェクト、そうでない場合はnull
。- 例外:
IllegalArgumentException
-cd
が前述の属性を持つMemoryUsage
を表さない場合。
-