dmesg
rose1 发表于 2020-08-31 09:05浏览次数:
在Linux操作系统上,dmesg命令检查或控制内核环缓冲区。
内核环缓冲区是一种记录与内核操作相关的消息的数据结构。环形缓冲区是一种特殊种类的缓冲区,它始终是恒定大小,当新消息进来时,删除最早的消息。
On Linux operating systems, the dmesg command examines or controls the kernel ring buffer.
The kernel ring buffer is a data structure that records messages related to the operation of the kernel. A ring buffer is a special kind of buffer that is always a constant size, removing the oldest messages when new messages come in.
目录:
1 dmesg 运行系统环境
2 dmesg 语法
3 dmesg 例子
dmesg 运行系统环境
dmesg 语法
dmesg [options]
选件
-C, --clear
|
清除环形缓冲区。
|
-c, --read-clear
|
打印后清除环形缓冲区的内容。
|
-D, --console-off
|
禁用向控制台打印消息。
|
-d, --show-delta
|
显示时间戳和消息之间花费的时间增量。如果与--notime一起使用,则仅打印不带时间戳记的时间增量。
|
-E, --console-on
|
启用将消息打印到控制台。
|
-f, --facility list
|
将输出限制为已定义的(用逗号分隔)功能列表。有关所有受支持的功能,请参阅--help输出。
|
-h, --help
|
打印帮助文本并退出。
|
-k, --kernel
|
打印内核消息。
|
-l, --level list
|
将输出限制为已定义(用逗号分隔)的级别列表。有关所有受支持的级别,请参见--help输出。
|
-n, --console-level level
|
设置将消息记录到控制台的级别。级别是级别编号或级别名称的缩写。例如,-n 1或-n alert阻止控制台上显示除紧急(紧急)消息以外的所有消息。所有级别的消息仍会写入/ proc / kmsg,因此syslogd(8)仍可用于精确控制内核消息出现的位置。使用-n选项时,dmesg将不会打印或清除内核环形缓冲区。有关所有受支持的级别,请参见--help输出。
|
-r, --raw
|
打印原始消息缓冲区,即,不要去除日志级别前缀。
|
-s, --buffer-sizesize
|
使用大小缓冲区来查询内核环形缓冲区。默认为16392。如果您将内核缓冲区设置为大于默认值,则可以使用此选项查看整个缓冲区。
|
-T, --ctime
|
打印人类可读的时间戳。时间戳记可能不正确;在系统挂起/恢复后,用于日志的时间源不会更新。
|
-t, --notime
|
不要打印内核的时间戳。
|
-u, --userspace
|
打印用户空间消息。
|
-V, --version
|
输出版本信息并退出。
|
-x, --decode
|
将设施和级别(优先级)编号解码为人类可读的前缀。
|
dmesg的默认操作是从内核环形缓冲区读取所有消息。
dmesg [options]
Options
-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 with --notime then only the time delta without the timestamp is printed.
|
-E, --console-on
|
Enable printing messages to the console.
|
-f, --facility list
|
Restrict output to defined (comma separated) list of facilities. For all supported facilities see --help output.
|
-h, --help
|
Print a help text and exit.
|
-k, --kernel
|
Print kernel messages.
|
-l, --level list
|
Restrict output to defined (comma separated) list of levels. For all supported levels see --help output.
|
-n, --console-level level
|
Set the level at which messages are logged to the console. The level is a level number or abbreviation of the level name. 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. For all supported levels see --help output.
|
-r, --raw
|
Print the raw message buffer, i.e., don't strip the log level prefixes.
|
-s, --buffer-sizesize
|
Use a buffer of size to query the kernel ring buffer. This is 16392 by default. 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
|
Don't print kernel's timestamps.
|
-u, --userspace
|
Print userspace messages.
|
-V, --version
|
Output version information and exit.
|
-x, --decode
|
Decode facility and level (priority) number to human readable prefixes.
|
The default action of dmesg is to read all messages from kernel ring buffer.
dmesg 例子
dmesg > kernel_msgs.txt
将当前在环形缓冲区中的所有内核消息输出到名为kernel_msgs.txt的文件中。
dmesg | grep -i memory
仅显示与内存使用有关的内核消息。
dmesg > kernel_msgs.txt
Output all kernel messages currently in the ring buffer to a file called kernel_msgs.txt.
dmesg | grep -i memory
Display only those kernel messages which relate to memory usage.