クラスMemoryUsage
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が定義されている場合、使用済メモリーおよびコミット済メモリーの量は、常にmax以下になります。 used <= maxがtrueの場合でも、used > committedになるように使用済メモリーを増やそうとすると、メモリー割当てが失敗することがあります。(たとえば、システムが仮想メモリーで不足している場合です)。
|
+----------------------------------------------+
+//////////////// | +
+//////////////// | +
+----------------------------------------------+
|--------|
init
|---------------|
used
|---------------------------|
committed
|----------------------------------------------|
max
MXBeanのマッピング
MemoryUsageは、fromメソッドで指定された属性を持つCompositeDataにマップされます。- 導入されたバージョン:
- 1.5
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明static MemoryUsagefrom(CompositeData cd) 指定されたCompositeDataで表されるMemoryUsageオブジェクトを返します。longJava仮想マシンが使用するようコミットされたメモリーの量(バイト単位)を返します。longgetInit()Java仮想マシンが初期にメモリー管理についてオペレーティング・システムから要求するメモリーの量(バイト単位)を返します。longgetMax()メモリー管理に使用できる最大メモリー量(バイト単位)を返します。longgetUsed()usedメモリーの量(バイト単位)を返します。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は、maxmaxの値(定義されている場合)より大きい値です。
-
-
-
メソッドの詳細
-
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
-
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を表していない場合。
-