システム・コア・ファイル (Linux® および UNIX)

プログラムが異常終了した場合、コア・ファイルがシステムによって作成され、終了処理のメモリー・イメージが保管されます。 メモリー・アドレス違反、不正命令、バス・エラー、およびユーザー生成終了シグナルなどのエラーで、コア・ファイルにダンプが保管されます。

コア・ファイルの名前は「core」で、DB2FODC レジストリー変数の値で別に構成されない限り、デフォルトで diagpath データベース・マネージャー構成パラメーターで指定されるディレクトリーに置かれます。 システム・コア・ファイルは、 Db2® トラップ・ファイルとは異なることに注意してください。

コア・ファイルの制御の設定

コア・ファイルが作成されるとき、大量の診断データが生成される場合があります。そのような場合、格納するためのスペースが必要になると共に、システムのプロセッサー使用量がかなり必要になる可能性があります。 コア・ファイルの処理方法の制御に役立つように、複数の DB2FODC レジストリー変数の設定を使用できるようになっています。 DB2FODC レジストリー変数の設定は、 db2set コマンドを使用して永続的に行うことも、 db2pdcfg コマンドを使用して動的に (メモリー内のみ) 変更することもできます。 db2set コマンドを使用して行われた永続設定は、インスタンスがリサイクルされるまで有効になりません。db2pdcfg コマンドを使用して行われた動的設定は、即時に有効になり、インスタンスがリサイクルされるまで有効です。

DB2FODC レジストリー変数を使用して、以下のコア・ファイルの動作を制御できます。
  • コア・ファイルが生成されるかどうか (DUMPCORE 設定を使用)
  • コア・ファイルの大きさの上限 (CORELIMIT 設定を使用)
  • 生成されたコア・ファイルの格納場所 (DUMPDIR 設定を使用)

原則として、コア・ファイルの大きさの上限は、コア・ファイルの生成場所となるマシンに搭載されている物理メモリーの量までになっています。 例えば、データ・サーバーに 64 GB の物理メモリーがある場合は、コア・ファイルの格納場所のディレクトリー・パス内で 64 GB 以上のスペースが使用可能になっていなければなりません。 コア・ファイルのサイズは制限できますが、その代わりに十分なスペースが使用可能なファイル・システムを指すようにコア・ファイルの動作を構成することをお勧めします。 コア・ファイル用に使用できるスペースの量を制限しなければならない場合は、使用可能なスペースの量がマシン上の物理メモリーの量以上であることを確認してください。この量より少ないと、コア・ファイルが切り捨てられ、診断情報が失われるリスクがあります。 例えば、コア・ファイルの生成に使用できるスペースの量を 64 GB に制限し、コア・ファイルを永続的に /tmp にリダイレクトするには、以下のコマンドを発行します。 設定が有効になるのは、インスタンスがリサイクルされた後に限られます。

db2set DB2FODC="CORELIMIT=64000000000 DUMPDIR=/tmp"

コア・ファイルが生成されるとき、システムのプロセッサー使用量がかなり増える可能性があり、システム可用性にも影響する可能性があります。 コア・ファイル生成時のシステム可用性に対するパフォーマンス上の影響が容認できない場合は、コア・ファイルの生成を使用不可にできますが、永続的に使用不可にしないことをお勧めします。 コア・ファイルには、問題のトラブルシューティングを正しく行うために必要になることがある診断情報が含まれるからです。 コア・ファイルの生成を永続的にオフにしたために、診断情報を使用できない場合は、データ・サーバーの問題をトラブルシューティングできなくなる可能性があります。 例えば、コア・ファイルの生成を動的にオフにし、即時に有効にしてインスタンスがリサイクルされるまで有効にしておくには、以下のコマンドを発行します。

db2pdcfg DB2FODC="DUMPCORE=OFF"