Startpagina > Pakket- en systeembeheer > dmesg

dmesg: Kernel Ring Buffer Berichten controleren

Dit commando wordt gebruikt om berichten te controleren die door de kernel worden uitgevoerd (kernel ring buffer) tijdens het opstarten van het systeem. Het is een essentieel hulpmiddel voor het detecteren van hardware, het laden van stuurprogramma's en het diagnosticeren van systeemfouten.

Wat is dmesg?

dmesg is een afkorting voor 'display message' of 'driver message' en toont berichten die zijn opgeslagen in de ringbuffer van de Linux-kernel. Het toont chronologisch hoe hardware is herkend, hoe stuurprogramma's zijn geladen, of welke fouten er zijn opgetreden, vanaf het opstarten van het systeem tot nu.

Kernfuncties en Gebruik

dmesg wordt gebruikt om te diagnosticeren wat er op het laagste niveau (kernel) van het systeem gebeurt.

  • Opstartberichten controleren: Bekijk alle kernelberichten die worden uitgevoerd bij het opstarten van het systeem.
  • Hardware-diagnose: Controleer logboeken wanneer nieuwe hardware (USB, schijf, etc.) wordt aangesloten of verwijderd.
  • Stuurprogrammafouten: Traceer de oorzaak van mislukte stuurprogrammaladingen of kernelniveau-fouten (Kernel Panic).
  • Ringbuffer: De buffergrootte is vast, dus oudere logboeken worden overschreven door nieuwe.

Belangrijkste Opties (Shell)

dmesg wordt vaak gebruikt in combinatie met andere commando's (grep, less) via een pipe (|), maar heeft ook zijn eigen nuttige opties.

1. Uitvoerformaat en Tijd

2. Filteren en Realtime Monitoring

3. Buffer-/Consolebeheer (Voorzichtigheid geboden)

Gegenereerde opdracht:

Probeer de opdrachtcombinaties.

Uitleg:

`dmesg` Voer het commando uit.

Combineer deze opties en voer de opdracht virtueel uit met de AI.

Voorbeelden van Gebruiksscenario's (Shell)

dmesg wordt vaak gebruikt in combinatie met grep om alleen de gewenste informatie te filteren.

Alle berichten bekijken (pagineren)

dmesg | less

De meest basale manier van gebruiken. Scroll gemakkelijk met less.

Nieuwe berichten in realtime controleren (leesbaar)

dmesg -wH

Combineert -w (realtime) en -H (menselijk leesbare tijd).

Alleen USB-gerelateerde berichten filteren

dmesg | grep -i usb

De -i optie van grep negeert hoofd- en kleine letters.

Schijf- (SATA/NVMe) gerelateerde berichten filteren

dmesg | grep -iE 'sd[a-z]|nvme'

Zoek logboeken die 'sd[a-z]' of 'nvme' bevatten met grep -E (uitgebreide reguliere expressie).

Alleen fouten (Error) of waarschuwingen (Warn) filteren

dmesg -H -l err,warn

Gebruik de -l optie om logboekniveaus te specificeren.

Alleen de laatste 10 regels van berichten bekijken

dmesg | tail -n 10

Combineer met tail om snel de meest recente berichten te bekijken.

Bekijk met facility/level tags

dmesg -xT | less

De -x optie decodeert facility/level om het begrip te vergroten.

Logboeken opslaan naar een bestand

dmesg -T > ~/dmesg-$(date +%F-%H%M).log

Bewaar de volledige dmesg direct na het opstarten.

Installatie

dmesg is onderdeel van het util-linux pakket en wordt standaard geleverd met de meeste Linux-distributies.

Standaard geïnstalleerd

Geen aparte installatie nodig. Als het ontbreekt, installeer dan het 'util-linux' pakket van uw distributie.

Tips & Waarschuwingen

dmesg vs journalctl

  • systemd omgeving: In moderne systemd-systemen kunnen 'journalctl -k' (kernel logs) of 'journalctl -b' (logs van deze boot) worden gebruikt om systeemlogs te bekijken, verder dan alleen dmesg.
  • Tijdformaat: De tijd in de standaard dmesg-uitvoer is [verstreken tijd in seconden sinds opstarten]. Gebruik de opties '-H' of '-T' om de werkelijke tijd te zien.
  • Buffer overschrijven: Door de aard van de ringbuffer kunnen oudere berichten verloren gaan. Als u vroege opstartlogs wilt bewaren, controleer dan met 'journalctl -b 0' of sla de dmesg-uitvoer op in een bestand.
  • Rechten/Beveiliging: Sommige distributies beperken de toegang van normale gebruikers tot dmesg met '/proc/sys/kernel/dmesg_restrict=1'. Gebruik in dat geval 'sudo dmesg' of 'sudo journalctl -k'.
  • Logs wissen (-c, -C): 'dmesg -c' en '-C' zijn nuttig voor debugging, maar eenmaal gewist, kunnen logs niet worden hersteld. Gebruik ze voorzichtig in een productieomgeving.

gerelateerde commando's

Functional vergelijkbare of vaak samen gebruikte commando's.



Hétzelfde categoriecommando