スポンサーリンク

CRASH(8) FreeBSD システム管理者マニュアル CRASH(8)

名称

crash − FreeBSD システム障害

解説

このセクションではシステムクラッシュについて少し説明し、クラッシュダンプ の解析方法についても (かなり簡潔ですが) 述べます。

システムが自らクラッシュする際には、

panic: なぜ死んだのか

という形式でコンソールにメッセージを表示し、もしダンプが有効になっていれ ば ( dumpon(8) 参照) 大容量記憶装置にダンプをとり、そして reboot(8) に述 べられているように自動リブート手順を開始します。ハードウェアあるいはソフ トウェアの障害によってファイルシステムの状態に予期せぬ矛盾点が見つかった 場合を除き、システムはマルチユーザモードでのオペレーションを再開します。

システムは数多くの内部一貫性チェックを行っています。それらのチェックのう ちひとつに引っかかると、どのチェックに引っかかったかを示す簡潔なメッセー ジを表示してパニックします。多くの場合、このメッセージはエラーを検知した ルーチン名、あるいは見つかった一貫性エラーを記述する 2 語のフレーズです。 ほとんどのパニックメッセージを完全に理解するには、システムのソースコード を熟読する必要があります。

システム障害に共通するほとんどの原因はハードウェア障害であり、それは様々 なところに現れます。ここでは発生する可能性の高いメッセージと、原因に関す る手掛かりを示します。ハードウェアあるいはソフトウェアが予期せぬかたちで そのようなメッセージを出力する可能性については、全く述べていません。

cannot mount root このパニックメッセージは、ブートストラップ処理中にルー トファイルシステムをマウントできなかった場合に表示されます。ルートファイ ルシステムが壊れているか、システムが誤ったデバイスをルートファイルシステ ムとして使おうとしています。通常、システムバイナリの別のコピーか別のルー トファイルシステムを用いてシステムを立ち上げ、調査します。よく行われるの は、システムをインストールしたブートフロッピでブートし、次に ‘‘fixit’’ フ ロッピを使用することです。

init: not found これはパニックメッセージではなく、リブートしても無駄で しょう。ブートストラップ処理の最後の段階で、システムが初期化プロセス init(8) の場所を探してそれを実行するのに失敗したのです。ルートファイルシ ステムが不正あるいは壊れている、 /sbin/init が実行不能モードあるいはタイ プになっている、もしくは /sbin/init 自体がなくなっています。

ffs_realloccg: bad optim
ffs_valloc: dup alloc
ffs_alloccgblk: cyl groups corrupted
ffs_alloccg: map corrupted
blkfree: freeing free block
blkfree: freeing free frag
ifree: freeing free inode
これらのパニックメッセージはファイルシステム内 に矛盾点が見つかったときに出力されるものです。通常、この問題の原因は、ク ラッシュ後の破損したファイルシステムの修復失敗、ハードウェア障害、あるい は通常発生しない他の条件にあります。ファイルシステムのチェックを行えば、 通常、問題は解決します。

timeout table full 実はこれはパニックではありませんが、関係するデータ構 造の拡張を行う前に、エントリが不足するためにクラッシュしたのです。この現 象が発生したら、timeout table を大きくして下さい。

init died (signal #, exit #) システム初期化プロセスが、示されたとおりの シグナルおよび終了コードで終了してしまいました。これは良くない知らせで す。もう誰もログインできません。リブートするしか手はなく、従ってシステム はただちにリブートします。

以上が遭遇する可能性のあるパニックの種類一覧です。

クラッシュダンプを取るようにシステムが設定されている場合 ( dumpon(8) 参 照)、システムがクラッシュするとダンプデバイス (通常は 1 つめのスワップ領 域と同じ) の終わりにメモリイメージを書き込みます (少なくとも書き込もうと します)。システムがリブートした後、プログラム savecore(8) が起動し、後の 解析のために、このコアイメージと現在のシステムのコピーを特定ディレクトリ に保存します。詳細は savecore(8) を参照して下さい。

ダンプを解析するには、システムのロードイメージとコアダンプに対して gdb(1)−k オプション付きで起動します。コアイメージがパニックによって生成され たものならば、そのパニックメッセージが表示されます。より詳しい情報は、 FreeBSD 開発者用ハンドブック (http://www.FreeBSD.org/) のカーネルデバッギ ングの章を参照して下さい。

関連項目

gdb(1), dumpon(8), reboot(8), savecore(8)

歴史

crash マニュアルページは FreeBSD 2.2 で登場しました。

FreeBSD 10.0 February 2, 1996 FreeBSD 10.0

スポンサーリンク