FreeBSD Daily Topics

2011年11月22日カーネルのクラッシュダンプを取る方法(X Window System)

tips

How to get a kernel crashdump while using X

FreeBSDをコンソールのまま使用している場合、問題なくパニックが開始され、カーネルデバッガが起動し、場合によってはコンソールからバックトレースを実施して問題を把握できます(カーネルはデバッグオプションを指定しままビルドしておいたほうがなにかと便利です⁠⁠。クラッシュダンプを取得する方法は1日前のFreeBSD Daily Topicsの記事をご覧ください。

FreeBSDをワークステーションとして利用している場合、パニック発生と同時に画面がフリーズし、何も操作できなくなることがあります。こうした場合、H/W的にリセットボタンを押してシステムを再起動しなければならず、クラッシュダンプが取られることもなく、まったく原因を掴めない状況になることがあります。問題を突き止めるまで長い時間がかかってしまうパターンです。

X Window Systemを使っている状態でフリーズが発生する場合、次のようにシステム起動時にddb(8)コマンドを実行して、カーネルデバッガが起動した段階でダンプを出力させシステムを自動的に再起動させるというデータ回収方法があります。これは便利な方法なのでぜひ覚えておきたいティップです。

ddb script "kdb.enter.default=bt; call doadump; reset"

こうしておくと、X使用時にカーネルがパニックすると(画面上はフリーズしたように振る舞っているものの、実際にはパニックしてカーネルデバッガが起動しています⁠⁠、自動的にコアを出力して再起動が実施されます。システムが起動してくると/var/crash/にパニック時のデータが書き出されますので、書き出されたサマリデータなどをチェックして問題を探ります。X使用時にシステムがフリーズするような場合にはこの方法で原因を模索してみてください。

おすすめ記事

記事・ニュース一覧