Linux / Befehl dmesg: Kernel- und Boot-Meldungen lesen

dmesg liest Nachrichten, die im Kernel-Ringpuffer aufgezeichnet sind. Es hilft bei der Untersuchung von Hardwareerkennung, Treibern, Dateisystemen und Kernel-Warnungen während des Systemstarts.

Der Kernel-Ringpuffer hat eine begrenzte Größe, daher können ältere Nachrichten überschrieben werden. Die Standardausgabe enthält Nachrichten mit unterschiedlichen Prioritäten und Zeitstempeln. Von -T gesendete, für Menschen lesbare Zeitstempel können ungenau sein, wenn die Systemuhr angepasst wurde; konsultieren Sie das Bootprotokoll des Journals, wenn die Zeitgenauigkeit wichtig ist.

Grundlegende Syntax

dmesg [option]

Implementierungen und Optionen können je nach Distribution variieren. Prüfen Sie die Dokumentation Ihres Systems mit man dmesg.

Beispiele

Kernel-Nachrichten überprüfen

Es gibt bis zu den neuesten Einträgen aus, daher sollten Sie bei langem Bildschirm einen Pager verwenden.

dmesg | less

Nur Warnungen und Fehler anzeigen

Begrenzt den Untersuchungsbereich auf Fehler- und Warnstufen.

dmesg --level=err,warn

Neuen Nachrichten folgen

Eingehende Kernel-Nachrichten in Echtzeit prüfen. Drücken Sie Strg+C, um zu stoppen.

dmesg --follow

Kernel-Nachrichten und relative Zeit lesen

Die Standardzeit-Anzeige von dmesg basiert normalerweise auf der seit dem Booten vergangenen Zeit. Nach der Zahl folgen Nachrichten, die sich auf Hardware, Treiber oder das Dateisystem beziehen.

dmesg --level=err,warn | tail -n 3

Beispielhafte Formatierung (tatsächliche Nachrichten variieren je nach System):

[   12.345678] device: warning message

Wenn die Ausgabe leer ist, gibt es möglicherweise keine Nachrichten dieses Levels im aktuellen Ringpuffer, und wenn Sie aufgrund von Berechtigungseinschränkungen nicht darauf zugreifen können, wird ein Fehler angezeigt. Da die Größe des Ringpuffers begrenzt ist und alte Einträge verschwinden können, überprüfen Sie den Journalspeicher zusammen mit vorherigen Boot-Ereignissen mithilfe von journalctl -k -b -1. dmesg -c löscht den Puffer, daher wird er nicht für einfache Überprüfungen verwendet.

Hauptoptionen und Format

Optionen/Format Beschreibung
--level=LIST Zeigt nur Nachrichten der angegebenen Prioritäten an.
-T Zeigt die Zeit in einem menschenlesbaren Format an.
-H Verwendet eine menschenlesbare Ausgabe und einen Pager.
-w Wartet kontinuierlich auf neue Nachrichten.
-k Zeigt nur Kernel-Nachrichten an.

Vorsichtsmaßnahmen bei der Verwendung

Einige Distributionen beschränken, dass Nicht-Administratoren das Kernel-Log lesen dürfen; prüfen Sie die Systemrichtlinie, wenn Sie auf einen Berechtigungsfehler stoßen. dmesg -c und --clear löschen den Puffer, verwenden Sie sie also nicht für eine einfache Abfrage. Ein leeres Ergebnis beweist nicht, dass kein Problem vorliegt. Wenn sie vom Journal aufbewahrt werden, können Sie die Kernel-Nachrichten des vorherigen Starts mit journalctl -k -b -1 einsehen.

Häufig gestellte Fragen

dmesg und journalctl -k, sind sie dasselbe?

Beide ermöglichen es Ihnen, Kernel-Nachrichten zu überprüfen, aber dmesg liest den Kernel-Ringpuffer, während journalctl -k die im Journal gesammelten und gespeicherten Kernel-Einträge abfragt.

Offizielle Dokumentation

Für das genaue Verhalten der Optionen siehe die dmesg-Handbuchseite.