あなたの ix86 システムは予期せずロックアップしますか?キーボード入力に 応答しない難しい完全なロックアップですか?このようなロックアップのデバッ グ支援を受けたいですか?すべてが "yes" なら、これはきっとあなた向けの 資料です。 Intel および同様な ix86 タイプのハードウェアには、'watchdog NMI interrupts' の生成を有効にする機能があります (NMI: Non Maskable Interrupt、システムに他の原因で難しいロックアップが起きてもこれは実行 されます)。難しいカーネルロックアップのデバッグに利用できます。周期的 な NMI 割込みの実行により、カーネルは CPU のいずれかがロックアップした かどうか監視でき、ロックアップしたならデバッグメッセージを出力します。 'nmi_watchdog=n' ブートパラメータでブート時に NMI watchdog を有効にす ることが可能です。以下は適切な lilo.conf エントリの例です - append="nmi_watchdog=1" SMP マシンおよび IO-APIC のある UP マシンでは、nmi_watchdog=1 を用いま す。IO-APIC のない UP マシンでは、nmi_watchdog=2 を用いますが、いくつ かのプロセッサ種別でしか動作しません。動作しない場合、nmi_watchdog=1 でブートし、/proc/interrupts 内の NMI カウントを調べてください - カウ ントが 0 なら、nmi_watchdog=2 で再起動 (reboot) し、NMI カウントを調べ てください。それが 0 のままなら、不具合として記録します。たぶん使用し ているプロセッサには nmi コードの追加が必要です。 ロックアップは次のシナリオです - システムの CPU のいずれかが周期的なロー カルタイマー割込みを 5 秒以上実行しなければ、NMI ハンドラは oops を生 成しプロセスを終了 (kill) します。この controlled crash (およびカーネ ルメッセージの結果) はロックアップのデバッグに利用できます。したがっ て、ロックアップの発生時は常に、5 秒の待ちと、oops が自動的に発生しま す。カーネルがメッセージを出力しない場合、システムはとても深刻にクラッ シュし (例えば、ハードウェア障害)、NMI 割り込みの受入れさえできなくなっ たか、クラッシュがカーネルのメッセージ出力をできなくしたかのいずれかで す。 注記:2.4.2-ac18 からの NMI-oopser はデフォルトで無効になりますので、 ブート時のパラメータで有効にしなければなりません。2.4.2-ac18 以前の NMI-oopser は x86 SMP ボックス上で無条件に有効になります。 [バグ報告、提案、パッチを気軽に Ingo Molnar もしく は Linux SMP メーリングリスト に送ってく ださい。] ---------------------------------------------------------------------- 日本語訳:野本浩一