Puxei o console em uma máquina virtual que gerencio hoje e fui recebido com algumas mensagens do kernel:
[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
São apenas alguns deles: 20 e 30 ocorrem na CPU 0 e 1.
- VM é Debian Jessie, inicialização do BIOS ("QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014"; kernel 3.16.0-4-amd64)
- O hypervisor é libvirt / KVM em execução no teste Debian (atualmente o 4.7.0-1-amd64 do Debian; qemu 1: 2.7 + dfsg-3).
- O hardware é um Opteron 6344 em um Supermicro H8SGL-F com RAM ECC com a limpeza ativada.
Não vejo nenhuma mensagem de erro / aviso de NMI ou EDAC no host.
Alguma idéia do que está causando essas mensagens NMI no convidado? Eles têm algo com que se preocupar?
(Pode estar relacionado à NMI recebida por motivo desconhecido 20 - Você tem um modo de economia de energia estranho ativado? Mas isso parece ser bare metal).
noapic apci=off
Respostas:
Eu tive o mesmo problema usando uma configuração semelhante:
Minha solução foi alternar minha VM convidada para usar uma CPU emulada QEMU em vez da passagem da CPU. Isso implicava remover a
<cpu mode='host-passthrough'/>
linha do arquivo de definição de convidado.Atualização : Eu fiz uma investigação mais aprofundada e os elementos problemáticos estavam sob o
clock
elemento:A solução real foi remover os três
<timer>
elementos, após o que<cpu mode='host-passthrough'/>
poderia ser ativado novamente.Para completar, adicionei uma resposta semelhante à pergunta vinculada .
fonte
O problema parece ser que o fim da interrupção não é comunicado corretamente.
Para libvirt, verifique se
eoi
está ativado:Na linha de comandos do KVM que se traduz em
Isso parece funcionar para nós
-M q35
, passagem da CPU do host e configuração padrão de outra forma (interrupções do RTC na fila, interrupções do PIT interrompidas, HPET indisponível).fonte
Eu tive o mesmo problema em
Debian 9
eQemu 2.8.1(Debian 1:2.8+dfsg-6+deb9u5)
.Eu o resolvi substituindo o modelo de placa de vídeo de
virtio
paracirrus
(ou você pode tentar usar outro modelo naqemu
página de manual).fonte