dmesg — print or control the kernel ring buffer


dmesg [options]


dmesg is used to examine or control the kernel ring buffer.

The default action is to read all messages from kernel ring buffer.


The −−clear, −−read-clear, −−console-on, −−console-off and −−console-level options are mutually exclusive.

−C, −−clear

Clear the ring buffer.

−c, −−read−clear

Clear the ring buffer contents after printing.

−D, −−console−off

Disable printing messages to the console.

−d, −−show−delta

Display the timestamp and time delta spent between messages. If used together with −−notime then only the time delta without the timestamp is printed.

−e, −−reltime

Display the local time and delta in human readable format.

−E, −−console−on

Enable printing messages to the console.

−F, −−file file

Read log from file.

−f, −−facility list

Restrict output to defined (comma separated) list of facilities. For example

dmesg −−facility=daemon

  • will print messages from system daemons only. For all supported facilities see dmesg −−help output.

    −H, −−human

    Enable human readable output. See also −−color, −−reltime and −−nopager.

    −h, −−help

    Print a help text and exit.

    −k, −−kernel

    Print kernel messages.

    −L, −−color

    Colorize important messages.

    −l, −−level list

    Restrict output to defined (comma separated) list of levels. For example

dmesg −−level=err,warn

  • will print error and warning messages only. For all supported levels see dmesg −−help output.

    −n, −−console−level level

    Set the level at which logging of messages is done to the console. The level is a level number or abbreviation of the level name. For all supported levels see dmesg −−help output.

    For example, −n 1 or −n alert prevents all messages, except emergency (panic) messages, from appearing on the console. All levels of messages are still written to /proc/kmsg, so syslogd(8) can still be used to control exactly where kernel messages appear. When the −n option is used, dmesg will not print or clear the kernel ring buffer.

    −P, −−nopager

    Do not pipe output into a pager, the pager is enabled for −−human output.

    −r, −−raw

    Print the raw message buffer, i.e., do not strip the log level prefixes.

    Note that the real raw format depends on method how dmesg(1) reads kernel messages. The /dev/kmsg uses different format than syslog(2). For backward compatibility dmesg(1) returns data always in syslog(2) format. The real raw data from /dev/kmsg is possible to read for example by command 'dd if=/dev/kmsg iflag=nonblock'.

    −S, −−syslog

    Force to use syslog(2) kernel interface to read kernel messages. The default is to use /dev/kmsg rather than syslog(2) since kernel 3.5.0.

    −s, −−buffer−size size

    Use a buffer of size to query the kernel ring buffer. This is 16392 by default. (The default kernel syslog buffer size was 4096 at first, 8192 since 1.3.54, 16384 since 2.1.113.) If you have set the kernel buffer to be larger than the default then this option can be used to view the entire buffer.

    −T, −−ctime

    Print human readable timestamps. The timestamp could be inaccurate!

    The time source used for the logs is not updated after system SUSPEND/RESUME.

    −t, −−notime

    Do not print kernel's timestamps.

    −u, −−userspace

    Print userspace messages.

    −V, −−version

    Output version information and exit.

    −w, −−follow

    Wait for new messages. This feature is supported on systems with readable /dev/kmsg only (since kernel 3.5.0).

    −x, −−decode

    Decode facility and level (priority) number to human readable prefixes.




Karel Zak

Theodore Ts'o


The dmesg command is part of the util-linux package and is available from Linux Kernel Archive

  Copyright 1993 Rickard E. Faith (
May be distributed under the GNU General Public License