5.11.2 明示管理ヒープ機能のイベントログの確認方法

ここでは,明示管理ヒープ機能が出力するイベントログの参照方法について説明します。

<この項の構成>
(1) 出力契機の確認方法
(2) ログの接頭語を使用した調査方法
(3) イベントログの出力形式の説明で使用する記号

(1) 出力契機の確認方法

ログ出力の契機となったイベントは,[cause:<CAUSE>]の形式で出力されます。この項目を確認することで,契機となったイベントを確認できます。

<CAUSE>に出力される文字列の意味を次の表に示します。

表5-30 <CAUSE>に出力される文字列の意味

<CAUSE>意味
GCコピーガーベージコレクション発生
Full GCフルガーベージコレクション発生
ReclaimExplicitメモリブロック解放処理
ReclaimingExplicitメモリブロック解放処理中のJavaヒープあふれ
NewExplicitメモリブロックへのオブジェクト生成
MigrateExplicitメモリブロックの自動解放処理
MigratingExplicitメモリブロックの自動解放処理時のJavaヒープあふれ

ただし,一部のログでは,<CAUSE>が出力されません。

(2) ログの接頭語を使用した調査方法

[ENS],[EVO]などのログの接頭語は,ログをフィルタリングして調査するために利用できます。

明示管理ヒープ機能の接頭語の意味は次のとおりです。

例えば,各ヒープサイズの変化を調査したい場合に「S」でフィルタリングしたり,発生したイベントを調査したい場合に「O」でフィルタリングしたりできます。

(3) イベントログの出力形式の説明で使用する記号

出力形式の説明で使用する記号を次の表に示します。

表5-31 出力形式の説明で使用する記号

記号使用例意味
*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-31で示した記号に表5-32で示す記号を組み合わせて表します。

数値などを表すときに使用する記号を次の表に示します。

表5-32 数値などを表すときに使用する記号

記号定義意味
<digit>0|1|2|3|4|5|6|7|8|90~9を表します。
<hex><digit>|a|b|c|d|e|f16進数を表します。
<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進数であることを意味します。