Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 保守/移行編


3.3.16 coreダンプ取得の設定

ここでは,UNIXの場合に,coreダンプを取得するための設定について説明します。

注意事項

Linuxの仕様によって,coreファイル内のサイズ情報が不正となる場合があります。

〈この項の構成〉

(1) coreファイルのサイズの上限値の設定

システムの動作環境によっては,coreファイルのサイズの上限値が0になっている場合があります。この場合,プロセスのcoreダンプを取得できないため,あらかじめcoreファイルのサイズの上限値を無制限に設定しておく必要があります。coreファイルのサイズの上限値を無制限にするためには,簡易構築定義ファイルまたはオプション定義ファイルでJavaVM起動パラメタにオプションを指定するか,またはシェルコマンドを実行します。ただし,ハードリミット値以上のサイズのcoreファイルは出力されません。

なお,簡易構築定義ファイルまたはオプション定義ファイルでJavaVM起動パラメタに指定するメモリプールサイズが大きいほど,coreファイルのサイズも大きくなるため,十分空きディスク容量を確保してください。

また,これらの設定に加え,シェルコマンドを実行して,一つのファイルサイズの上限値を無制限にしておくことをお勧めします。

参考

coreファイルのサイズの見積もり式

JavaVMがプロセスダウンした場合に生成されるcoreファイルサイズは,仮想メモリの使用量と同じになります。仮想メモリの使用量の計算式については,次に示すマニュアルを参照してください。coreファイル生成先であるJavaVMプロセスのカレントディレクトリがあるディスクには,常に,このcoreファイルサイズ以上の空き領域が必要です。

(2) coreファイルのファイル数の上限値の設定

(3) Red Hat Enterprise Linux 8以降のcoreダンプファイルに関する注意事項

Red Hat Enterprise Linux 8以降では,systemd-coredumpがデフォルトで有効になっています。

systemd-coredumpが有効になっている場合,プロセス異常終了時に出力されるcoreダンプファイルの出力先や生存期間が,OSのsystemd-coredumpによって管理されます。

coreダンプファイルは障害解析時の重要な資料となるため,次のコマンドを参考に,Red Hat Enterprise Linux 7までと同様にsystemd-coredumpを無効化することを推奨します。

なお,設定した内容は,稼働しているすべてのプロセスに対して有効となりますのでご注意ください。

# sysctl -a | grep core_pattern

kernel.core_pattern = |/usr/lib/systemd/systemd-coredump %P %u %g %s %t %c %h %e

# sysctl -w kernel.core_pattern=core

kernel.core_pattern = core

OS再起動後もこの設定を有効にするためには,/etc/sysctl.conf に次の一行を記述してください。

kernel.core_pattern = core

systemd-coredumpが有効になっている場合の注意事項を次に示します。

(a) J2EEサーバとバッチサーバによるcoreダンプファイルの世代管理について

J2EEサーバとバッチサーバのcoreダンプファイルは,「<製品の作業ディレクトリ>/ejb/<サーバ名称>/core*」に出力されず,J2EEサーバとバッチサーバは,「ejb.server.corefilenum」パラメタによる,coreダンプファイルの世代管理ができなくなるおそれがあります。

これによって,coreダンプファイル数の上限がなくなるため,単調増加したcoreダンプファイルが,ディスク容量を圧迫するおそれがあります。

(b) Webコンテナサーバによるcoreダンプファイルの世代管理について

Webコンテナサーバのcoreダンプファイルは,「<Application Serverのインストールディレクトリ>/CC/web/containers/<サーバ名称>/core*」に出力されず,Webコンテナサーバは,「web.server.corefilenum」パラメタによる,coreダンプファイルの世代管理ができなくなるおそれがあります。

これによって,coreダンプファイル数の上限がなくなるため,単調増加したcoreダンプファイルが,ディスク容量を圧迫するおそれがあります。

(c) snapshotログの注意点

systemd-coredumpが有効な場合,coreダンプファイルはsnapshotログに含まれません。このため,coreダンプファイルが必要な障害調査に時間が掛かり,調査できなくなるおそれがあります。

異常時に出力されたcoreダンプファイルは,削除される前に退避する運用にしてください。

(d) coreダンプファイル出力のタイムアウト時間について

systemd-coredumpが有効な場合,coreダンプファイル出力のタイムアウト時間はデフォルト5分です。このため,coreダンプファイルの出力に5分以上要する場合,coreダンプファイルは出力されません。