为了洞察系统硬挂起,已实现 Solaris deadman 功能。自 Solaris 11 Update 1 以来,该功能在缺省情况下为启用状态。deadman 机制每隔一秒就会检查所有 CPU 上处于中断级别 14 的 deadman 计时器状态。在此情况下,如果在出现紧急情况前装入了 kmdb (1) ,可以使用内核调试器来诊断问题。
如果系统在启用 deadman 功能的情况下挂起,则应在控制台上看到类似如下示例的输出:
panic[cpu1]/thread=30018dd6cc0: deadman: timed out after 9 seconds of clock inactivity panic: entering debugger (continue to save dump)
在调试器内,使用 ::cpuinfo 命令调查时钟中断无法触发的原因并使系统时间提前。