<b>写真1 システム起動中に発生したカーネルパニックの一例</b>
<b>写真1 システム起動中に発生したカーネルパニックの一例</b>
[画像のクリックで拡大表示]

 致命的なエラーがシステムで発生し、復旧不可能な状態になること。Windowsの「ブルースクリーン」やMacOS X以降で標準実装する「パワーボタンマーク」などと同じ。システムの電源を切って強制終了し、再起動するしかない。システムの起動途中でカーネルパニックが発生した場合には、根本的な解決を図るまでシステムを再起動できない。

 カーネルパニックが発生すると「Kernel panic」の文字列、発生したエラーの内容、システムがメモリー上に書き出したダンプ情報の一部などが、ディスプレイの画面に出力される。根本的な解決を図るには、これら情報を手掛かりにして検証を進める。ハードウエアに起因するケースがほとんどである。詳細を調査するには、メモリー上のダンプ情報を採取するツール「diskdump」や「netdump」、「kdump」などを使う。

 カーネルを再構築したときにシステムの起動途中で発生することが多い。主な原因の一つは、OSを導入したハードディスクドライブ(HDD)を認識していないことである(写真1)。HDDを認識できるようにデバイスドライバをカーネルに組み込むか、起動時に実行するスクリプトファイル「initrd」または「initramfs」を作成する必要がある。

 サーバーの運用時には、カーネルパニックが発生したときに自動で再起動できるとサービスの停止時間を短くできる。稼働しているサーバーのファイル「/proc/sys/kernel/panic」を編集することで設定できる。

# vi /proc/sys/kernel/panic

 デフォルトは「0」と記載されていて、自動で起動しない設定になっている。「10」に書き直すと、カーネルパニックが発生してから10秒後に再起動させることができる。

 再起動後も自動起動の設定を有効にするには、ファイル「/etc/sysctl.conf」を編集する。

# vi /etc/sysctl.conf

 次の1行を追加すると、カーネルパニックが発生してから10秒後にシステムを自動で再起動できる。

kernel.panic = 10

■変更履歴
MacOS X以降で標準実装するカーネルパニックのメッセージについて「爆弾マーク」とありましたが、正しくは「パワーボタンマーク」です。お詫びして訂正します。本文は修正済みです。 [2010/09/29 22:12]