GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Kernel Panic gibt keine Protokolldateien aus

Um sicherzustellen, dass Ihr Rechner bei einem Kernel-Fehler eine „Core“-Datei generiert, sollten Sie die „sysctl“-Einstellungen Ihres Rechners bestätigen.

IMO, im Folgenden sollten die Einstellungen (minimal) in /etc/sysctl.conf stehen :

kernel.core_pattern = /var/crash/core.%t.%p
kernel.panic=10
kernel.unknown_nmi_panic=1

Führen Sie sysctl -p aus nachdem Sie Änderungen in /etc/sysctl.conf vorgenommen haben Datei. Sie sollten wahrscheinlich auch mkdir /var/crash falls es noch nicht existiert.

Sie können obiges testen, indem Sie einen manuellen Dump mit SysRq erzeugen key (die Tastenkombination zum Dumpen von Core ist Alt +SysRq +C ).


Wenn der Kernel in Panik gerät, bedeutet dies, dass im Kernel etwas schief gelaufen ist. Das Schreiben von Protokolldateien und Core-Dumps erfordert die Verwendung der Treiber für das Blockspeichergerät (Ihre Festplatte) und das Dateisystem (Speicherplatz muss zugewiesen und die Größe der Protokolldatei muss aktualisiert werden). Da diese vom Kernel bereitgestellten Dienste zum Schreiben von Dateien erforderlich sind und der Kernel weiß, dass er sich in einem fehlerhaften Zustand befindet, kann er die Dateien nicht schreiben oder irgendetwas protokollieren, da er sich nicht mehr in einem sicheren Zustand befindet jede Operation könnte die Dinge verschlimmern und Ihr Dateisystem beschädigen/zerstören. Sie können den Kernel also nicht in das Protokoll schreiben oder einen Core-Dump ausgeben lassen, wenn er in Panik gerät.

Was Sie jetzt tun können, wenn Sie möchten, ist, das System mit einem Kernel zur Absturzbehandlung zu konfigurieren, bei dem es sich um einen zweiten Kernel handelt, der in den Speicher geladen wird und auf den die Steuerung übertragen werden kann, wenn der Hauptkernel abstürzt. Da dieser Kernel über Treiber und dergleichen verfügt, könnte er einen Crash-Dump für Sie speichern. Dies ist jedoch keine sehr häufige Einrichtung und wird hauptsächlich für High-End-Systeme verwendet, die eine hohe Verfügbarkeit erfordern und bei denen ein Absturz ein sehr ernstes Problem darstellt, das untersucht werden muss.

Siehe zum Beispiel die Crashkernel-Option unter Kernel Crash Dump auf ubuntu.com. (Beachten Sie, dass auf dieser Seite steht, dass der Kernel-Crash-Dump-Mechanismus standardmäßig aktiviert ist, beginnend mit Ubuntu 16.04.)

Ich glaube, dass das System den Dump tatsächlich in einem reservierten Stück Speicher speichert und dann neu startet, und der Kernel den reservierten Speicher beim nächsten Start auf der Festplatte speichert (da der neu bootende Kernel in einem gesunden Zustand ist und dies tun kann).


Linux
  1. Linux – Dump Page Table Layout (Kernel-Konfiguration)?

  2. Kernel Panic beim Upgrade auf 10.10?

  3. Linux-Logdateien

  4. So verwenden Sie Logrotate zum Verwalten von Protokolldateien

  5. Python-Protokollierung - Speicherort der Protokolldateien überprüfen?

Erstellen und Debuggen von Linux-Dump-Dateien

Was tun bei einer Linux-Kernel-Panik?

Kernel-Panik nach Update auf 4.4.0-108-generisch?

20 Linux-Protokolldateien, die sich im Verzeichnis /var/log befinden

So rotieren Sie Apache-Protokolldateien unter Linux

Alle /var/log löschen?