WASでGCログを出力する方法

 WAS BASE 8.5.5.3で確認しています。
 WAS(WebShpere Application Server)上で動作するWebアプリケーションでOutOfMemoryが頻発する場合はGCログをモニタリングしJavaヒープの使用量に問題がないか確認する必要があります。
下記にてWASでGCログを出力する方法を記載します。

 GCログを出力させるには、WAS管理コンソールから「Java仮想マシン」設定画面に移動し、冗長ガーベッジコレクションにチェックを入れるか、汎用JVM引数の欄に-verbose:gcを入力し設定します。
ただし、上記の設定の場合には、出力先はnative_stderr.logとなり、ローテーションすることができません。

GCログを一定ファイル数でローテーションさせるには同じ画面の汎用JVM引数の欄に-Xverbosegclog を指定することで、SDK機能としてローテートすることが可能です。

設定例:

-Xverbosegclog:/opt/IBM/WebSphere/AppServer/profiles/SampleProfile/verbosegc,10,2000

上記例では、/opt/IBM/WebSphere/AppServer/profiles/SampleProfile/ 配下にverbosegclog.* というファイル名のログが出力されます。
GCが2000回発生するごとにログが切り替わり、最大で10個のファイルが生成されます。

-Xverbosegclog機能については、以下IBM公式ページに詳細情報が記載されていますので参考にして下さい。

[Writing Verbose GC to a Specified Log -Xverbosegclog in AIX, Linux and Windows]
http://www.ibm.com/support/docview.wss?uid=swg21384096

GCログを解析する方法についてはまた別の記事にて解説したいと思います。

コメントを残す