dmesg
(1)print or control the kernel ring buffer
Options
32-C--clearClear the ring buffer.
-c--read-clearClear the ring buffer after first printing its contents.
-D--console-offDisable the printing of messages to the console.
-d--show-deltaDisplay the timestamp and the time delta spent between messages. If used together with --notime then only the time delta without the timestamp is printed.
-E--console-onEnable printing messages to the console.
-e--reltimeDisplay the local time and the delta in human-readable format. Be aware that conversion to the local time could be inaccurate (see -T for more details).
-F--filefileRead the syslog messages from the given file. Note that -F does not support messages in kmsg format. See -K instead.
-f--facilitylistRestrict output to the given (comma-separated) list of facilities. For example: dmesg --facility=daemon will print messages from system daemons only. For all supported facilities see the --help output.
-H--humanEnable human-readable output. See also --color, --reltime and --nopager.
-J--jsonUse JSON output format. The time output format is in "sec.usec" format only, log priority level is not decoded by default (use --decode to split into facility and priority), the other options to control the output format or time format are silently ignored.
-K--kmsg-filefileRead the /dev/kmsg messages from the given file. Different record as expected to be separated by a NULL byte.
-k--kernelPrint kernel messages.
-L--colorwhenColorize the output. The optional argument when can be auto, never or always. If the when argument is omitted, it defaults to auto. The colors can be disabled; for the current built-in default see the --help output. See also the COLORS section below.
-l--levellistRestrict output to the given (comma-separated) list of levels. For example: dmesg --level=err,warn will print error and warning messages only. For all supported levels see the --help output. Appending a plus + to a level name also includes all higher levels. For example: dmesg --level=err+ will print levels err, crit, alert and emerg. Prepending it will include all lower levels.
-n--console-levellevelSet the level at which printing of messages is done to the console. The level is a level number or abbreviation of the level name. For all supported levels see the --help output. For example, -n 1 or -n emerg 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.
--noescapeThe unprintable and potentially unsafe characters (e.g., broken multi-byte sequences, terminal controlling chars, etc.) are escaped in format \x<hex> for security reason by default. This option disables this feature at all. It’s usable for example for debugging purpose together with --raw. Be careful and don’t use it by default.
-P--nopagerDo not pipe output into a pager. A pager is enabled by default for --human output.
-p--force-prefixAdd facility, level or timestamp information to each line of a multi-line message.
-r--rawPrint the raw message buffer, i.e., do not strip the log-level prefixes, but all unprintable characters are still escaped (see also --noescape). Note that the real raw format depends on the method how dmesg reads kernel messages. The /dev/kmsg device uses a different format than syslog(2). For backward compatibility, dmesg returns data always in the syslog(2) format. It is possible to read the real raw data from /dev/kmsg by, for example, the command 'dd if=/dev/kmsg iflag=nonblock'.
-S--syslogForce dmesg to use the 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-sizesizeUse 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--ctimePrint human-readable timestamps. Be aware that the timestamp could be inaccurate! The time source used for the logs is not updated after system SUSPEND/RESUME. Timestamps are adjusted according to current delta between boottime and monotonic clocks, this works only for messages printed after last resume.
--sincetimeDisplay record since the specified time. Supported is the subsecond granularity. The time is possible to specify in absolute way as well as by relative notation (e.g. '1 hour ago'). Be aware that the timestamp could be inaccurate and see --ctime for more details.
--untiltimeDisplay record until the specified time. Supported is the subsecond granularity. The time is possible to specify in absolute way as well as by relative notation (e.g. '1 hour ago'). Be aware that the timestamp could be inaccurate and see --ctime for more details.
-t--notimeDo not print kernel’s timestamps.
--time-formatformatPrint timestamps using the given format, which can be ctime, reltime, delta, iso or raw. The first three formats are aliases of the time-format-specific options. The raw format uses the default timestamp format showing seconds since boot. The iso format is a dmesg implementation of the ISO-8601 timestamp format. The purpose of this format is to make the comparing of timestamps between two systems, and any other parsing, easy. The definition of the iso timestamp is: YYYY-MM-DD<T>HH:MM:SS,<microseconds>←+><timezone offset from UTC>. The iso format has the same issue as ctime: the time may be ina
-u--userspacePrint userspace messages.
-w--followWait for new messages. This feature is supported only on systems with a readable /dev/kmsg (since kernel 3.5.0).
-W--follow-newWait and print only new messages.
-x--decodeDecode facility and level (priority) numbers to human-readable prefixes.
-h--helpDisplay help text and exit.
-V--versionDisplay version and exit.
DESCRIPTION
COLORS
The output colorization is implemented by terminal-colors.d(5) functionality. Implicit coloring can be disabled by an empty file
/etc/terminal-colors.d/dmesg.disable
for the dmesg command or for all tools by
/etc/terminal-colors.d/disable
Since version 2.41, the $NO_COLOR environment variable is also supported to disable output colorization unless explicitly enabled by a command-line option.
The user-specific $XDG_CONFIG_HOME/terminal-colors.d or $HOME/.config/terminal-colors.d overrides the global setting.
Note that the output colorization may be enabled by default, and in this case terminal-colors.d directories do not have to exist yet.
The logical color names supported by dmesg are:
subsys
time
timebreak
alert
crit
err
warn
segfault
EXIT STATUS
AUTHORS
REPORTING BUGS
For bug reports, use the issue tracker https://github.com/util-linux/util-linux/issues.
AVAILABILITY
The dmesg command is part of the util-linux package which can be downloaded from Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.