4.9.2 J2EEサーバのメモリダンプの取得

J2EEサーバのメモリダンプの取得について,OSごとに説明します。

<この項の構成>
(1) Windowsの場合
(2) UNIXの場合

(1) Windowsの場合

J2EEサーバが稼働している場合(cjstartsvプロセスが存在する場合),タスクマネージャからcjstartsvのプロセスIDを取得します。userdump.exe <プロセスID>を実行し,メモリダンプ(user.dump)を採取します。

(2) UNIXの場合

cjstartsvプロセスがダウンした場合,「<作業ディレクトリ>/ejb/<サーバ名称>」に出力されたcoreダンプを取得します。

coreダンプのファイル名は,cjstartsvプロセスの再起動時に「core.<出力日時>」(AIX,HP-UXの場合)または「core.<プロセスID>.<出力日時>」(Linuxの場合)にリネームされます。cjstartsvプロセスの再起動時にcoreダンプが上書き保存されないため,障害発生時のcoreダンプを保存できます。

注※
出力日時は「YYMMDDhhmmss」の形式で出力されます。
YY:西暦(下2けた) MM:月(2けた) DD:日(2けた)
hh:時(24時間表記で2けた) mm:分(2けた) ss:秒(2けた)

なお,保存するcoreダンプは上限値を設定できます。Windowsの場合,cjstartsvプロセスの再起動時,およびjavacoreコマンド実行時に,出力日時が古い順に削除されます。UNIXの場合,「<作業ディレクトリ>/ejb/<サーバ名称>」に出力されるcoreダンプファイルの合計が上限値を超えたときに,出力日時が古い順に削除されます。上限値は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,J2EEサーバの拡張パラメタのejb.server.corefilenumで指定します。なお,ファイルの削除はcjstartsvプロセスの再起動時に実行されます。coreファイルのファイル数の上限値の設定については,「3.3.18 coreダンプ取得の設定」を参照してください。

coreダンプを取得したあとに,coreダンプからスタックトレース情報だけを取得する場合は,javatraceコマンドを実行してください。スタックトレース情報は,JavaVMの異常終了の原因を究明するために必要な情報です。スタックトレース情報の取得方法については,「4.18 JavaVMのスタックトレース情報」を参照してください。

coreダンプは次のような場合にも取得できます。それぞれの場合の取得方法について説明します。