dmesg — print or control the kernel ring buffer
dmesg
[options]
dmesg \-\-clear
dmesg
−−read−clear
[options]
dmesg −−console−level
level
dmesg \-\-console\-on
dmesg \-\-console\-off
dmesg
is used to
examine or control the kernel ring buffer.
The default action is to display all messages from the 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 after first printing its contents.
−D
, −−console−off
Disable the printing of messages to the console.
−d
, −−show−delta
Display 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−on
Enable printing messages to the console.
−e
, −−reltime
Display 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
, −−file
fileRead the syslog messages from the given file. Note that
−F
does not support
messages in kmsg format. The old syslog format is
supported only.
−f
, −−facility
listRestrict 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
, −−human
Enable human-readable output. See also
−−color
,
−−reltime
and −−nopager
.
−k
, −−kernel
Print kernel messages.
−L
, −−color
[=when]Colorize 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
, −−level
listRestrict 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.
−n
, −−console−level
level
Set 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.
−−noescape
The 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
, −−nopager
Do not pipe output into a pager. A pager is
enabled by default for −−human
output.
−p
, −−force−prefix
Add facility, level or timestamp information to each line of a multi-line message.
−r
, −−raw
Print 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(1) reads kernel messages. The /dev/kmsg device uses a different format than syslog(2). For backward compatibility, dmesg(1) 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
, −−syslog
Force 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−size
sizeUse 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.
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.
−t
, −−notime
Do not print kernel's timestamps.
−−time−format
formatPrint timestamps using the given format, which
can be ctime,
reltime,
delta or
iso. The first
three formats are aliases of the
time-format-specific options. 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 inaccurate when a system is suspended and resumed.
−u,
−−userspace
Print userspace messages.
−w,
−−follow
Wait for new messages. This feature is supported only on systems with a readable /dev/kmsg (since kernel 3.5.0).
−W,
−−follow−new
Wait and print only new messages.
−x,
−−decode
Decode facility and level (priority) numbers to human-readable prefixes.
−V,
−−version
Display version information and exit.
−h,
−−help
Display help text and exit.
Implicit coloring can be disabled by an empty file
/etc/terminal-colors.d/dmesg.disable
. See
terminal-colors.d(5) for
more details about colorization configuration.
The logical color names supported by dmesg
are:
The message sub-system prefix (e.g., "ACPI:").
The message timestamp.
The message timestamp in short ctime format in
−−reltime
or
−−human
output.
The text of the message with the alert log priority.
The text of the message with the critical log priority.
The text of the message with the error log priority.
The text of the message with the warning log priority.
The text of the message that inform about segmentation fault.
dmesg
can fail
reporting permission denied error. This is usually caused by
dmesg_restrict
kernel setting, please see syslog(2) for more
details.
The dmesg command is part of the util-linux package and is available from Linux Kernel Archive
Copyright 1993 Rickard E. Faith (faithcs.unc.edu) May be distributed under the GNU General Public License |