Der Kernel gibt Meldungen zu Bootvorgang, Treibern, Geräten, Dateisystemen, Netzwerk, Speicher und Fehlern aus. Diese Datensätze können Symptome auf niedriger Ebene erklären, doch eine einzelne Warnmeldung beweist nicht, dass Hardware defekt ist.
Protokollierung · Lektion 4
Kernelprotokollierung
Lerne, aktuelle und aufbewahrte Linux-Kernelmeldungen mit dmesg und journalctl abzufragen.
Den Kernel-Ringpuffer lesen
dmesg liest Meldungen aus dem Ringpuffer des Kernels:
$ dmesg --human
Der Puffer besitzt eine begrenzte Kapazität, sodass neuere Meldungen ältere überschreiben können. Der Zugriff kann außerdem auf privilegierte Benutzer beschränkt sein. dmesg --follow verfolgt bei Implementierungen, die dies unterstützen, neue Kernelmeldungen; beende es nach einer begrenzten Reproduktion.
Warum kann ein älteres Kernelereignis in der aktuellen dmesg-Ausgabe fehlen?
Lesbare Zeitstempel verwenden
Rohe Kernelzeitstempel sind gewöhnlich relativ zum Bootvorgang. dmesg --ctime oder --human kann sie als Uhrzeiten darstellen, doch umgerechnete Werte hängen vom Verlauf der Systemuhr ab und können ungenau sein, wenn sich die Uhr nach dem Bootvorgang geändert hat. Bewahre die bootrelative Zeitangabe, wenn eine genaue Reihenfolge wichtig ist.
Warum solltest du umgerechnete Uhrzeitstempel von dmesg mit Bedacht behandeln?
Dauerhafte Kernelaufzeichnungen abfragen
Frage auf einem systemd-Host Kernelaufzeichnungen des aktuellen Bootvorgangs ab mit:
$ journalctl -k -b
Falls frühere Bootvorgänge in einem dauerhaften Journalspeicher aufbewahrt wurden, untersuche die Bootliste und wähle einen aus:
$ journalctl --list-boots
$ journalctl -k -b -1
Herkömmliche Syslog-Weiterleitung kann /var/log/kern.log oder eine andere Datei erstellen, doch dies hängt von der Konfiguration ab. Auch eine gespeicherte Datei /var/log/dmesg ist nicht allgemeingültig und stellt möglicherweise nur eine Momentaufnahme vom Bootvorgang dar.
Welcher Befehl fordert Kernelmeldungen des vorherigen aufbewahrten Bootvorgangs an?
Ein Kernelereignis untersuchen
Ermittle Bootvorgang, Zeitstempel, Gerät, Subsystem und die zu diesem Zeitpunkt ausgeführte Aktion. Frage umgebende Kernel- und Dienstdatensätze ab und vergleiche anschließend Hardwareinventar und aktuellen Zustand:
$ journalctl -k -b --since '10 minutes ago'
$ lspci -k
$ lsblk
Verwende nur Werkzeuge, die für das Subsystem relevant sind. Beurteile vor dem Neuladen eines Treibers, dem Trennen eines Geräts oder einem Neustart die Auswirkungen auf Speicher, Netzwerk, Konsole und Dienste und bewahre einen Wiederherstellungszugang.
Was ist die beste Reaktion auf eine einzelne Kernelwarnung?
Lektion abgeschlossen
Sie haben Kernelprotokollierung abgeschlossen
Du kannst aktuelle Meldungen des Kernelpuffers nun von aufbewahrten Kernelprotokollen unterscheiden.
Lies den begrenzten Ringpuffer mit
dmesg.Interpretiere bootrelative und umgerechnete Zeitstempel mit Bedacht.
Frage aktuelle oder vorherige Bootvorgänge mit
journalctl -kab.Verknüpfe Kernelmeldungen, bevor du unterbrechende Änderungen vornimmst.
Lernfortschritt speichern
Erstellen Sie ein kostenloses Konto, um diese Lektion zu speichern und auf jedem Gerät weiterzulernen.
Kostenloses Konto erstellen