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 MemoryUsagefrom(CompositeData cd)指定されたCompositeDataによって表されるMemoryUsageオブジェクトを返します。longgetCommitted()Java仮想マシンが使用するようコミットされたメモリーの量(バイト単位)を返します。longgetInit()Java仮想マシンが初期にメモリー管理についてオペレーティング・システムから要求するメモリーの量(バイト単位)を返します。longgetMax()メモリー管理に使用できる最大メモリー量(バイト単位)を返します。longgetUsed()usedメモリーの量(バイト単位)を返します。StringtoString()このメモリーの使用量の説明的表現を返します。
-
コンストラクタの詳細
-
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.Longused java.lang.Longcommitted java.lang.Longmax java.lang.Long- パラメータ:
cd-MemoryUsageを表すCompositeData- 戻り値:
cdがnullでない場合はcdにより表されるMemoryUsageオブジェクト、そうでない場合はnull。- 例外:
IllegalArgumentException-cdが前述の属性を持つMemoryUsageを表さない場合。
-