今日管理している仮想マシンでコンソールを開き、いくつかのカーネルメッセージを受け取りました。
[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
これはわずかな部分であり、20と30の両方がCPU 0と1で発生しました。
- VMはDebian Jessie、BIOSブートです(「QEMU標準PC(i440FX + PIIX、1996)、BIOS 1.9.3-20161025_171302-gandalf 04/01/2014」;カーネル3.16.0-4-amd64
- ハイパーバイザーは、Debianテスト(現在のDebian 4.7.0-1-amd64; qemu 1:2.7 + dfsg-3)で実行されるlibvirt / KVMです。
- ハードウェアはOpteron 6344です。スーパーマイクロH8SGL-FECC RAMとスクラブが有効になっています。
ホストにNMIまたはEDACエラー/警告メッセージが表示されません。
訪問者にこれらのNMIメッセージが発生する原因は何ですか?その人が気になることはありますか?
(一緒にいるかもしれません未知の理由でNMI 20を受け取りました。奇妙なバッテリー節約モードを有効にしましたか?しかし、これはベアメタルのようです。)
ベストアンサー1
同様の設定で同じ問題が発生しました。
- AMD CPU(Intel CPUで同じ問題について報告したことがありますが、Intel CPUで実行されたハイパーバイザーのうちCPUパススルーが有効になっていても、この問題は発生しませんでした)。
- Debian、ハイパーバイザー、およびゲストのカーネル4.x(私の場合は両方とも4.9.0-4-amd64)。
私の解決策は、QEMUを使用してCPUパススルーの代わりにCPUをエミュレートするようにゲストVMを切り替えることでした。これを行うには、<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>
実際の解決策は、これら3つの<timer>
要素を削除し<cpu mode='host-passthrough'/>
て再度有効にすることです。
アップデート2 主演サイモンリヒーター言及する、私が削除した設定はデフォルト設定でしたので、この修正はすべての人には適用されない可能性があります。それから彼の解決策に従うべきです。