ここでは,明示管理ヒープ機能が出力するイベントログの参照方法について説明します。
ログ出力の契機となったイベントは,[cause:<CAUSE>]の形式で出力されます。この項目を確認することで,契機となったイベントを確認できます。
<CAUSE>に出力される文字列の意味を次の表に示します。
表5-31 <CAUSE>に出力される文字列の意味
<CAUSE> | 意味 |
---|---|
GC | CopyGC発生 |
Full GC | FullGC発生 |
Reclaim | Explicitメモリブロックの明示解放処理 |
Reclaiming | Explicitメモリブロックの明示解放処理中のJavaヒープあふれ |
New | Explicitメモリブロックへのオブジェクト生成 |
Migrate | Explicitメモリブロックの自動解放処理 |
Migrating | Explicitメモリブロックの自動解放処理中のJavaヒープあふれ |
ただし,一部のログでは,<CAUSE>が出力されません。
[ENS],[EVO]などのログの接頭語は,ログをフィルタリングして調査するために利用できます。
明示管理ヒープ機能の接頭語の意味は次のとおりです。
例えば,各ヒープサイズの変化を調査したい場合に「S」でフィルタリングしたり,発生したイベントを調査したい場合に「O」でフィルタリングしたりできます。
出力形式の説明で使用する記号を次の表に示します。
表5-32 出力形式の説明で使用する記号
記号 | 使用例 | 意味 |
---|---|---|
* | X* | 左辺を0回以上繰り返します。 使用例の場合,Xを0回以上繰り返すことを意味します。 |
? | X? | 左辺を1回以上繰り返します。 使用例の場合,Xを1回以上繰り返すことを意味します。 |
{n,m} | X{1,5} | 左辺をn回以上m回以下繰り返します。 使用例の場合,Xを1回以上5回以下繰り返すことを意味します。 |
{ | {ABC}* | "{"と"}"で囲まれた範囲を"*","?","{n,m}"の左辺の参照単位にします。 使用例の場合,"ABC"を0回以上繰り返すことを意味します。 |
} | ||
¥ | なし | マニュアル上では見やすさのために改行した個所を示します。 実際の出力内容に改行は入りません。 |
| | X|Y | 左辺または右辺を表します。 使用例の場合,XまたはYを意味します。 |
. | なし | 任意の文字を示します。 |
... | X|Y... | この行の前方直近の同一インデントの行から,この行前の行までを1回以上繰り返します。 使用例の場合,XまたはYの行を1回以上繰り返すことを意味します。 |
また,出力形式の説明では,数値などを表5-32で示した記号に表5-33で示す記号を組み合わせて表します。
数値などを表すときに使用する記号を次の表に示します。
表5-33 数値などを表すときに使用する記号
記号 | 定義 | 意味 |
---|---|---|
<digit> | 0|1|2|3|4|5|6|7|8|9 | 0~9を表します。 |
<hex> | <digit>|a|b|c|d|e|f | 16進数を表します。 |
<const> | <const><digit>|<digit> | 正の自然数を表します。 |
<decimal> | <const>.<digit> | 正の整数(小数点第1位まで)を表します。 |
<ptr64> | 0x<hex><hex><hex><hex><hex><hex><hex><hex><hex><hex><hex><hex><hex><hex><hex><hex> | 64ビットポインタ値を表します。 |
<ptr32> | 0x<hex><hex><hex><hex><hex><hex><hex><hex> | 32ビットポインタ値を表します。 |
<ptr> | <ptr64>|<ptr32> | ポインタ値を表します。 |
<letters> | .? | 任意の文字または任意の文字列を表します。 |
注 この表で示す記号は,"*","?"または"|"の左辺または右辺の参照単位になります。例えば,「<digit>|<hex>」と表記されている場合は,0~9の数値,または16進数であることを意味します。