主要メッセージの手引き

Panic

原因

プログラムがでオペレーティングシステムのバグを引き起こすと、システムはパニックになりクラッシュします。クラッシュはユーザーには不親切であるように感じられるかもしれませんが、突然の停止は実際には、システムとそのデータがそれ以上損傷するのを防止します。

オペレーティングシステムが停止するだけでなく、パニックルーチンでは使用中のメモリの内容がダンプデバイスにコピーされ、パニックルーチンの呼び出し元の CPU の現在の状態に関する重要情報が記録されます。

通常は一次スワップデバイスがデフォルトのダンプデバイスであるため、一次スワップデバイスは、メモリー全体のイメージを収容できるだけの大きさがなければなりません。メモリーイメージが保存されると、システムはリブートしようとします。

システムが正常にリブートしない場合は、次の可能性を検討してください。

  1. メモリー障害やディスククラッシュなどの、致命的なハードウェア障害

  2. 不安定なデバイスドライバなどの、カーネル構成の重大障害

  3. MAXUSERS の値が大きすぎるなどの、カーネルチューニングの重大エラー

  4. オペレーティングシステムファイルの損傷を含む、データ損傷

  5. fsck(1M) が照会に対する回答を求めている場合など、手動での作業が必要な場合

対処方法

システムクラッシュが発生した理由を特定するために、/var/adm/message* ログファイルを調べます。

savecore(1M) プログラムを使用します。上記の方法の中では、savecore(1M) プログラムを使用すると最も多くの情報を得られます。savecore(1M) コマンドは、パニックルーチンによって生成されたシステムクラッシュのダンプイメージを、ダンプデバイスからファイルシステムに転送します。このイメージを adb(1) などのデバッガを使用して分析できます。

関連項目

savecore(1M) を正しく設定し結果を解釈するのは、場合によっては難しい作業です。システムパニックのデバッグについて詳細は、Chris Drake、Kimberley Brown 共著『Panic! UNIX Sytem Crash Dump Analysis』(ISBN: 0-13-149386-8) を参照してください。