4.8 JavaVMのGCログ
JavaVMのGCログは,JavaVMまたはJ2EEサーバ起動前にログ出力先が設定されている場合にだけ取得できます。
GCログの出力先は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,ejb.server.log.directoryパラメタで指定します。
また,実行中のJavaプロセスでFullGCを発生させたい場合は,javagcコマンドを実行してください。javagcコマンドは,トラブル発生時の要因調査のほか,1トランザクション当たりのメモリ使用量の測定,メモリリークの調査,アプリケーションのデバッグなどの目的でも使用できます。
実行中のJavaプロセスを指定してFullGCを発生させる場合のjavagcコマンドの実行形式を次に示します。なお,これ以外に指定できるオプションについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「javagc(GCの強制発生)」を参照してください。
- 実行形式
javagc -p <プロセスID>
実行結果として,次のログが出力されます。なお,これは,オプションとして,-XX:+HitachiVerboseGCPrintCauseが指定されている場合の例です。
[VGC]<Wed Mar 17 00:42:30 2004>(Skip Full:0,Copy:0)[ Full GC 149K->149K(1984K),0.0786038 secs] [ DefNew::Eden:264K->0K(512K)] [ DefNew::Survivor:0K->63K(64K)] [ Tenured: 85K->149K(1408K)] [Metaspace: 3634K(4492K, 4492K)->3634K(4492K, 4492K)][class space: 356K(388K, 388K)->356K(388K, 388K)] [ cause:JavaGC Command]