Il comando dmesg ("display message" o "driver message") viene utilizzato per stampare tutti i messaggi che sono stati inviati al buffer dei messaggi del kernel durante e dopo l'avvio del sistema. I driver di dispositivo inviano messaggi al kernel indicando lo stato dei moduli e dei parametri con cui i driver si interfacciano. Questi driver possono anche inviare messaggi diagnostici al kernel nel caso in cui si verifichino errori. Anche altri componenti del kernel possono inviare messaggi al buffer.
Oltre a usare il comando dmesg, puoi anche accedere al buffer dei messaggi dal file /var/log/dmesg. In entrambi i casi, puoi sfruttare dmesg per cercare
potenziali problemi con i componenti del kernel o per convalidare il caricamento di determinati moduli.
Sintassi
La sintassi del comando dmesg è:
# dmesg [options]
Opzioni comando dmesg
Puoi usare varie opzioni con il comando dmesg.
Opzione | Descrizione |
---|---|
-c | Cancella il buffer del kernel dopo aver stampato il suo contenuto. |
-f {elenco strutture} | Limita l'output all'elenco di servizi separato da virgole specificato. Una struttura è una categoria di componenti che produce messaggi, ad esempio utente per messaggi a livello di utente. |
-l {lista livelli} | Limita l'output all'elenco di livelli separato da virgole specificato. Un livello definisce la natura e la priorità di un messaggio, come l'avviso per i messaggi che non sono considerati critici. |
-e | Visualizza una versione leggibile dall'uomo dell'ora di ciascun messaggio, nonché il relativo delta o la differenza di tempo tra i messaggi successivi. |
-L | Messaggi con codice colore per una più facile leggibilità. |
-H | Uscita in un formato di facile utilizzo, combinando le opzioni -e e -L e utilizzando un cercapersone di testo. |
-h | Elenca le opzioni disponibili, nonché le strutture ei livelli disponibili. |
Se si verifica l'errore seguente durante l'esecuzione del comando dmesg:
dmesg: command not found
puoi provare a installare il pacchetto seguente secondo la tua scelta di distribuzione:
Distribuzione del sistema operativo | Comando |
---|---|
OS X | brew install util-linux |
Debian | apt-get install util-linux |
Ubuntu | apt-get install util-linux |
Alpino | apk add util-linux |
Arch Linux | pacman -S util-linux |
Kali Linux | apt-get install util-linux |
CentOS | yum install util-linux |
Fedora | dnf install util-linux |
Raspbian | apt-get install util-linux |
Esempi di comando dmesg
1. Per stampare o controllare il buffer dell'anello del kernel:
# dmesg
2. Per cancellare il buffer dell'anello del kernel dopo la stampa:
# dmesg -c
3. Per stampare il buffer dei messaggi non elaborati:
# dmesg -r
4. Per specificare la dimensione del buffer dell'anello:
# dmesg -s 1024
5. Per impostare il livello di registrazione:
# dmesg -n level # dmesg -n 1 ## prevent all messages
6. Mostra i messaggi di errore del kernel:
# dmesg --level err
7. Mostra i messaggi del kernel e continua a leggerne di nuovi, in modo simile a `tail -f` (disponibile nei kernel 3.5.0 e successivi):
# dmesg -w
8. Mostra quanta memoria fisica è disponibile su questo sistema:
# dmesg | grep -i memory
9. Mostra i messaggi del kernel 1 pagina alla volta:
# dmesg | less
10. Mostra i messaggi del kernel con un timestamp (disponibile nei kernel 3.5.0 e successivi):
# dmesg -T
11. Mostra i messaggi del kernel in forma leggibile (disponibile nei kernel 3.5.0 e successivi):
# dmesg -H
12. Colora l'output (disponibile nei kernel 3.5.0 e successivi):
# dmesg -L