NMI看门狗计时器的使用方法

使用NMI看门狗计时器前需要将内核启动参数进行如下设置。


nmi_watchdog=N


N可以写入0~2的值。0用来禁用NMI看门狗。如果是具有IO-APIC的机器则设置为1(I/O-APIC模式);如果不具有IO-APIC则设置为2(本地APIC模式)。

安装了Local APIC NMI的机器上将输出如①所示的信息。此时如果设置为nmi_watchdog=2,就会输出②,NMI看门狗计时器运行。


dmesg

……

ACPI:LAPIC_NMI(acpi_id[0xff]high level lint[0x1])……①

……

Testing NMI watchdog……OK……②


如果在Local APIC的机器上设置为nmi_watchdog=1,则在RHEL6的情况下就会登录虚拟的APIC计时器,执行NMI看门狗计时器。

dmesg……

APIC timer registered as dummy, due to nmi_watchdog=1!……

Testing NMI watchdog……OK.

NMI看门狗计时器超时,就是指系统由于某些故障死机。想要找出原因时,可以在NMI看门狗计时器超时时提取内核崩溃转储。设置如下。

nmi_watchdog=panic, N(N为1或2)

必须事先进行Kdump(Hack#54)或diskdump(Hack#53)的设置。在内核运行过程中,

禁用NMI看门狗计时器时,可以将/proc/sys/kernel/nmi_watchdog设置为0。