der*_*ert 10 linux kvm libvirt nmi
我在今天管理的虚拟机上打开控制台,看到一些内核消息:
[5912557.130943] Uhhuh. NMI received for unknown reason 20 on CPU 0.
[5912557.131115] Do you have a strange power saving mode enabled?
[5912557.131287] Dazed and confused, but trying to continue
[6064281.393568] Uhhuh. NMI received for unknown reason 30 on CPU 1.
[6064281.393888] Do you have a strange power saving mode enabled?
[6064281.394235] Dazed and confused, but trying to continue
Run Code Online (Sandbox Code Playgroud)
这只是其中的几个,20 和 30 都发生在 CPU 0 和 1 上。
我在主机上没有看到任何 NMI 或 EDAC 错误/警告消息。
知道是什么导致来宾上出现这些 NMI 消息吗?他们有什么可担心的吗?
(可能与未知原因收到的 NMI有关20 — 您是否启用了奇怪的省电模式?但这似乎是裸机)。
我使用类似的设置遇到了同样的问题:
我的解决方案是将我的来宾虚拟机切换为使用 QEMU 模拟 CPU,而不是 CPU 直通。<cpu mode='host-passthrough'/>这需要从来宾定义文件中删除该行。
更新1:我做了进一步的调查,麻烦的元素在该clock元素下:
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
Run Code Online (Sandbox Code Playgroud)
真正的解决方案是删除这三个<timer>元素,然后<cpu mode='host-passthrough'/>可以再次启用。
更新 2 正如 Simon Richter提到的,此修复可能并不适合所有人,因为我删除的设置是默认设置。如果是这样,就应该遵循他的解决方案。