NMI aus unbekanntem Grund empfangen 20 - Haben Sie einen seltsamen Energiesparmodus aktiviert?

8

Ich benutze Debian GNU / Linux 7.8 (keuchend). Während ich heute mein MATLAB-Programm ausführe, habe ich diese Meldung im Terminal erhalten.

Message from syslogd@sas21 at Jul 18 16:40:49 ...
 kernel:[1747708.091929] Uhhuh. NMI received for unknown reason 20 on CPU 4.

Message from syslogd@sas21 at Jul 18 16:40:49 ...
 kernel:[1747708.091932] Do you have a strange power saving mode enabled?

Message from syslogd@sas21 at Jul 18 16:40:49 ...
 kernel:[1747708.091932] Dazed and confused, but trying to continue

Ich erinnere mich auch, dass ich dazwischen einen Piepton gehört habe.

Was bedeutet das? Und was soll ich weiter machen?

dexterdev
quelle
1
Ich habe einen guten Tipp zur Behebung dieses Problems erhalten: Dies scheint nur bei Gästen zu erscheinen, die seit dem letzten VM-Start neu gestartet wurden, sodass anscheinend ein gewisser VM-Status nicht ordnungsgemäß zurückgesetzt wird.
Simon Richter

Antworten:

2

Dies ist ein nicht maskierbarer Interrupt (NMI), der normalerweise durch ein Hardwareereignis auf Ihrem System ausgelöst wird. In diesem Fall sieht es so aus, als ob das spezifische NMI nicht konfiguriert ist, und obwohl es das NMI empfangen hat, weiß es nicht, was es damit tun soll, und ignoriert es einfach.

Was solltest du weiter tun?

  • Wenn Sie die Nachricht nur entfernen möchten, können Sie versuchen, sie in der Befehlszeile auszublenden, indem Sie syslogd konfigurieren.
  • Wenn Sie das Hintergrundproblem beheben möchten, müssen Sie herausfinden, was sich auf dem Computer geändert hat (z. B. neue Hardware / neuer Treiber hinzugefügt?).
MoopyGlue
quelle
2

Das Problem scheint zu sein, dass das Ende des Interrupts nicht richtig kommuniziert wird.

Stellen Sie für libvirt sicher, dass eoiaktiviert ist:

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

In der Befehlszeile für KVM, die übersetzt wird

-cpu …,+kvm_pv_eoi

Dies scheint für uns mit -M q35Host-CPU-Passthrough und Standardkonfiguration ansonsten zu funktionieren (RTC-Interrupts in der Warteschlange, PIT-Interrupts gelöscht, HPET nicht verfügbar).

Simon Richter
quelle
Von virt-installist das entsprechende Flag --features eoi=on. Das Testen in meiner eigenen Umgebung schien es nicht zu lösen.
BMitch
1

Ich habe dieses Verhalten auf einem Gast einer virtuellen KVM-Maschine gesehen, auf dem Debian 9.0 (Stretch) mit dem Hardwaretyp PC-Q35 ausgeführt wird. Der Gastgeber ist ein AMD Turion.

Online werden verschiedene Lösungen vorgeschlagen (siehe z. B. diesen Thread ), darunter die folgenden

  1. Wechseln zu einer QEMU-emulierten CPU, anstatt CPU-Passthrough zu verwenden.
  2. Ändern des KVM-Zeitgebers (Hinzufügen <timer name='kvmclock' present='no'/>zum Gast).
  3. Deaktivieren der ACPI-Unterstützung im Gast.

In meinem Fall hat das Umschalten auf eine QEMU-emulierte CPU das Problem behoben. Dazu habe ich die folgende Zeile aus meiner VM-XML-Datei entfernt:<cpu mode='host-passthrough'/>

mjturner
quelle
1

Möglicherweise wird die CPU zu heiß und generiert winzige Fehler oder vermasselt einige Anweisungen, aber diese unkritischen Fehler können vom Kernel intern immer noch behoben werden.

Ich habe ähnliche Nachrichten erhalten, aber in meinem Fall weiß ich, dass die GPU zu warm wird. Ich habe mir einen hochauflösenden Livestream auf meinem PC angesehen. Ich weiß zufällig, dass die GPUs ziemlich alt und schwach sind, daher erschien dies in meinem Fehlerprotokoll:

Feb 15 10:39:14  kernel: [ 1708.477285] nouveau 0000:03:00.0: therm: temperature (86 C) went below the 'fanboost' threshold
Feb 15 10:39:16  kernel: [ 1710.452080] nouveau 0000:03:00.0: therm: temperature (90 C) hit the 'fanboost' threshold
Feb 15 10:39:21  kernel: [ 1714.926254] nouveau 0000:03:00.0: therm: temperature (86 C) went below the 'fanboost' threshold
Feb 15 10:39:23  kernel: [ 1717.261238] nouveau 0000:03:00.0: therm: temperature (90 C) hit the 'fanboost' threshold
Feb 15 10:39:23  kernel: [ 1717.535168] Uhhuh. NMI received for unknown reason 21 on CPU 0.
Feb 15 10:39:23  kernel: [ 1717.535172] Do you have a strange power saving mode enabled?
Feb 15 10:39:23  kernel: [ 1717.535173] Dazed and confused, but trying to continue
Feb 15 10:39:32  kernel: [ 1725.650454] nouveau 0000:03:00.0: therm: temperature (86 C) went below the 'fanboost' threshold
Feb 15 10:39:33  kernel: [ 1726.662936] nouveau 0000:03:00.0: therm: temperature (90 C) hit the 'fanboost' threshold
Feb 15 10:39:37  kernel: [ 1730.652335] nouveau 0000:03:00.0: therm: temperature (86 C) went below the 'fanboost' threshold

und viele, viele mehr

knb
quelle
1

Ich habe das gleiche Problem seit einigen Tagen auf meinem KVM / QEMU-Host, auf dem Debian 8.6 mit Kernel 3.16.0-4-amd64 ausgeführt wird. Dies ist Teil meines Protokolls:

Jan 01 13:07:42 debbi3 kernel: Uhhuh. NMI received for unknown reason 20 on CPU 0.
Jan 01 13:07:42 debbi3 kernel: Do you have a strange power saving mode enabled?
Jan 01 13:07:42 debbi3 kernel: Dazed and confused, but trying to continue
Jan 02 10:48:58 debbi3 kernel: Uhhuh. NMI received for unknown reason 30 on CPU 0.
Jan 02 10:48:58 debbi3 kernel: Do you have a strange power saving mode enabled?
Jan 02 10:48:58 debbi3 kernel: Dazed and confused, but trying to continue

Dies begann nach der Installation von BOINC (aktuelle Aufgabe ist Collatz Conjecture). Ich erlaube BOINC derzeit, 99% der CPU zu übernehmen.

Meine Vermutung bezüglich der Ursache dieser Meldungen ist also, dass die CPU gesättigt ist und nicht genügend Zeit erhält, um (Hardware-) Interrupts richtig zu behandeln. In Ihrem speziellen Fall kann ein anderer Prozess oder eine äußere Ursache der Schuldige sein. YMMV.

Mausy5043
quelle