VM'de bilinmeyen NMI nedeni 20 ve 30


10

Bugün yönettiğim sanal bir makinede konsolu kaldırdım ve bazı çekirdek mesajlarıyla karşılandım:

[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

Bu sadece birkaçı, CPU 20 ve 1'de hem 20 hem de 30 meydana geliyor.

  • VM Debian Jessie, BIOS önyüklemesi ("QEMU Standart PC (i440FX + PIIX, 1996), BIOS 1.9.3-20161025_171302-gandalf 04/01/2014"; çekirdek 3.16.0-4-amd64)
  • Hipervizör Debian testi üzerinde çalışan libvirt / KVM'dir (şu anda Debian'ın 4.7.0-1-amd64; qemu 1: 2.7 + dfsg-3).
  • Donanım, ovma etkin ECC RAM ile Supermicro H8SGL-F üzerinde bir Opteron 6344'tür .

Ana bilgisayarda herhangi bir NMI veya EDAC hata / uyarı mesajı görmüyorum.

Misafirte bu NMI mesajlarının ne olduğuna dair bir fikrin var mı? Endişelenecek bir şey var mı?

( Bilinmeyen bir nedenden dolayı alınan NMI ile ilgili olabilir 20 - Garip bir güç tasarruf modunuz etkin mi? Ancak çıplak metal gibi görünüyor).


VM'lerin çekirdeğine geçmenin yardımcı olup olmayacağını merak ediyorumnoapic apci=off
Rui F Ribeiro

@RuiFRibeiro Eh, şu anda VM herhangi bir (görünür) sorun olmadan çalışıyor. Üretimde, bu yüzden sadece görmek için rastgele çekirdek seçeneklerini denemek için yeniden başlatmayı tercih etmem. Bir çekirdek geliştiriciye sorunun hatalarını ayıklamak için yardım etmek farklı bir hikaye olurdu, vb. (Artı, sık sık oldukları gibi değil
derobert

Bir süredir aynı sorunu bulmaya çalışıyorum. Yararlı olabilecek bazı veri noktaları şunlardır: ana makine çekirdek sürümü, qemu sürümü, VM ister BIOS ister UEFI önyükleme kullanıyor olsun, VM i440fx veya q35 kullanıyor olsun.
Michael Hampton

@MichaelHampton soruya ayrıntı eklendi.
derobert

Aynı sorunu yaşıyorum, ayrıntılar (aslında çok benzer): VM, BIOS 1.7.5-20140531_083030-gandalf (04/01/2014) ile Debian jessie (3.16.0-4-amd64). Hipervizör Debian jessie'de libvirt / KVM'dir, ancak kasıtlı çekirdeğe sahiptir (4.7.0-0.bpo.1-amd64). Hipervizör donanımı ECC RAM (anakart şu anda bilinmeyen, ancak muhtemelen bir çeşit Supermicro) ile iki Opteron 6272'dür. Bu detaylar derobert'inkiyle oldukça benzer olduğu göz önüne alındığında, bu sorunla da karşılaştığım için çok şaşırmadım, ancak umarım yardımcı olurlar.
jvperrin

Yanıtlar:


2

Benzer bir kurulum kullanarak aynı sorunu yaşadım:

  1. AMD CPU (Intel CPU'larda aynı sorunun raporlarını görmeme rağmen, Intel CPU'larda çalışan hipervizörlerimden hiçbiri CPU geçişi etkin olsa bile bu sorunu yaşamıyor).
  2. Debian, hipervizör ve misafir üzerinde çekirdek 4.x (her ikisinde de benim durumumda 4.9.0-4-amd64).

Benim çözümüm konuk VM'mi CPU düz geçişi yerine QEMU öykünmeli bir CPU kullanacak şekilde değiştirmekti. Bu, <cpu mode='host-passthrough'/>satırı konuk tanım dosyasından kaldırmayı gerektiriyordu .

Güncelleme : Daha fazla araştırma yaptım ve zahmetli unsurlar clockelementin altındaydı :

<clock offset='utc'>
  <timer name='rtc' tickpolicy='catchup'/>
  <timer name='pit' tickpolicy='delay'/>
  <timer name='hpet' present='no'/>
</clock>

Asıl çözüm, üç <timer>unsuru kaldırmaktı , daha sonra <cpu mode='host-passthrough'/>tekrar etkinleştirilebilir.

Bütünlük için bağlantılı soruya benzer bir cevap ekledim .


Bu üç öğe varsayılan değerlerdir, devre dışı bırakıldığında kesin olarak hiçbir şey yapılmamalı ve kaydedildiğinde yeniden eklenmelidir.
Simon Richter

1

Sorun, Kesinti Sonu'nun düzgün şekilde iletilmemesi gibi görünüyor.

Libvirt için eoi, etkinleştirildiğinden emin olun :

<domain>
  …
  <features>
    <apic eoi='on'/>
    …

KVM komut satırında

-cpu …,+kvm_pv_eoi

Bu bizim için çalışıyor -M q35, host cpu geçidi ve varsayılan yapılandırma aksi (RTC kesintileri kuyruğa alındı, PIT kesintileri düştü, HPET kullanılamıyor).


0

Ben aynı problem vardı Debian 9ve Qemu 2.8.1(Debian 1:2.8+dfsg-6+deb9u5).
Ben gelen videocard modelini değiştirmek bunu çözüldü virtioiçin cirrus(veya başka bir modeli kullanmak deneyebilirsiniz qemuadam sayfası).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.