JF Linux Kernel 2.4 Documentation: /usr/src/linux/Documentation/nmi_watchdog.txt

nmi_watchdog.txt

NMI watchdog の使用方法 [プレインテキスト版]


あなたの 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 <mingo@redhat.com> もしく
 は Linux SMP メーリングリスト <linux-smp@vger.kernel.org> に送ってく
 ださい。]
----------------------------------------------------------------------
日本語訳:野本浩一 <hng@ps.ksky.ne.jp>

Linux カーネル 2.4 付属文書一覧へ戻る