文章目录
- 41 管理虚拟机可维护性-虚拟机NMI Watchdog
- 41.1 概述
- 41.2 注意事项
- 41.3 操作步骤
41 管理虚拟机可维护性-虚拟机NMI Watchdog
41.1 概述
NMI Watchdog是一种用来检测Linux出现hardlockup(硬死锁)的机制。通过产生NMI不可屏蔽中断,从而在Linux内核关闭中断的代码区间也能打断代码的执行,进一步检测内核是否出现硬死锁。当前ARM架构不支持原生NMI中断,通过使能基于中断优先级的Pseudo-NMI,将PMI(Performance Monitoring Interrupt)中断配置为NMI中断,实现NMI Watchdog(即PMU Watchdog)。
41.2 注意事项
- 虚拟机内部OS需要支持Pseudo-NMI并配置相应内核参数
- 虚拟机上PMU Watchdog的配置方式与host上相同,无需对xml文件进行其他配置
- 同样作为NMI Watchdog,SDEI Watchdog的优先级高于PMU Watchdog,因此要禁用SDEI Watchdog才会使能PMU Watchdog;虚拟机不支持SDEI Watchdog,因此要注意通过配置内核参数将其禁用
41.3 操作步骤
针对ARM架构虚拟机配置NMI Watchdog的操作步骤如下:
- 在虚拟机的引导配置文件grub.cfg中添加如下参数:nmi_watchdog=1 pmu_nmi_enable hardlockup_cpu_freq=auto irqchip.gicv3_pseudo_nmi=1 disable_sdei_nmi_watchdog
- 检查虚拟机内部PMU Watchdog是否加载成功,如果加载成功,内核dmesg日志打印类似如下内容
[2.1173222] NMI watchdog: CPU0 freq probed as 2399999942 HZ.
👍 点赞,你的认可是我创作的动力!
⭐️ 收藏,你的青睐是我努力的方向!
✏️ 评论,你的意见是我进步的财富!