3.3.16 coreダンプ取得の設定
ここでは,UNIXの場合に,coreダンプを取得するための設定について説明します。
- 注意事項
-
Linuxの仕様によって,coreファイル内のサイズ情報が不正となる場合があります。
(1) coreファイルのサイズの上限値の設定
システムの動作環境によっては,coreファイルのサイズの上限値が0になっている場合があります。この場合,プロセスのcoreダンプを取得できないため,あらかじめcoreファイルのサイズの上限値を無制限に設定しておく必要があります。coreファイルのサイズの上限値を無制限にするためには,簡易構築定義ファイルまたはオプション定義ファイルでJavaVM起動パラメタにオプションを指定するか,またはシェルコマンドを実行します。
なお,簡易構築定義ファイルまたはオプション定義ファイルでJavaVM起動パラメタに指定するメモリプールサイズが大きいほど,coreファイルのサイズも大きくなるため,十分空きディスク容量を確保してください。
-
簡易構築定義ファイルでJavaVM起動パラメタにオプションを指定する場合
簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,JavaVM起動パラメタを定義します。JavaVM起動パラメタの指定内容を次に示します。
- <param-name>タグ
-
add.jvm.arg
- <param-value>タグ
-
-XX:+HitachiFullCore
指定例(物理ティアの定義の場合)
<configuration> <logical-server-type>j2ee-server</logical-server-type> <param> <param-name>add.jvm.arg</param-name> <param-value>-XX:+HitachiFullCore</param-value> </param> : </configuration>
-
オプション定義ファイルでJavaVM起動パラメタにオプションを指定する場合
オプション定義ファイルにJavaVM起動パラメタを定義します。
指定例(Management Server用オプション定義ファイルの場合)
add.jvm.arg=-XX:+HitachiFullCore
-
シェルコマンドを実行する場合
シェルコマンドを実行して,coreファイルの上限値を無制限にしてください。
csh(Cシェル)の場合の実行例
limit coredumpsize unlimit
sh(標準シェル)の場合の実行例
ulimit -c unlimited
また,これらの設定に加え,シェルコマンドを実行して,一つのファイルサイズの上限値を無制限にしておくことをお勧めします。
-
csh(Cシェル)の場合の実行例
limit filesize unlimit
-
sh(標準シェル)の場合の実行例
ulimit -f unlimited
- 参考
-
coreファイルのサイズの見積もり式
JavaVMがプロセスダウンした場合に生成されるcoreファイルサイズは,仮想メモリの使用量と同じになります。仮想メモリの使用量の計算式については,次に示すマニュアルを参照してください。coreファイル生成先であるJavaVMプロセスのカレントディレクトリがあるディスクには,常に,このcoreファイルサイズ以上の空き領域が必要です。
-
J2EEアプリケーション実行基盤の場合
マニュアル「アプリケーションサーバ システム設計ガイド」の「5.3 プロセスごとに使用するメモリの見積もり」
-
バッチアプリケーション実行基盤の場合
マニュアル「アプリケーションサーバ システム設計ガイド」の「6.3 仮想メモリの使用量の見積もり」
-
Management Serverと運用管理エージェントの場合
マニュアル「アプリケーションサーバ システム設計ガイド」の「5.3 プロセスごとに使用するメモリの見積もり」およびリリースノートのCosminexus Component Containerが使用するメモリ所要量の「標準」の所要量
-
(2) coreファイルのファイル数の上限値の設定
-
論理J2EEサーバのcoreファイルのファイル数の上限値は,簡易構築定義ファイルの「j2ee-server」の<configuration>タグ内に,ejb.server.corefilenumパラメタで定義できます。ejb.server.corefilenumパラメタは,J2EEサーバの拡張パラメタで定義します。
cjstartsvプロセスの再起動時に「<作業ディレクトリ>/ejb/<サーバ名称>/」に出力されるcoreダンプファイルの合計が上限値を超えた場合,出力日時が古い順に削除されます。
-
Management Serverのcoreファイルのファイル数の上限値は,Management Server用オプション定義ファイルに,ejb.server.corefilenumパラメタで定義できます。
Management Serverプロセスの再起動時に「<Application Serverのインストールディレクトリ>/manager/containers/m/ejb/<Management Serverのサーバ名>/」に出力されるcoreダンプファイルの合計が上限値を超えた場合,出力日時が古い順に削除されます。