在Linux系统中,dmesg
命令用于显示内核环缓冲区的消息。这些消息包含了系统启动以来的各种硬件和驱动程序的信息,以及内核自身的运行状态。dmesg
的输出中包含了不同的日志级别,每个级别表示消息的重要性和紧急程度。以下是一些常见的日志级别及其含义:
Emerg(紧急): 系统不可用的情况下使用,表示系统处于危急状态,需要立即采取行动。
Alert(警报): 必须立即采取行动的问题,例如硬件故障。
Crit(严重): 非常严重的情况,但可能不需要立即采取行动,例如驱动程序崩溃。
Err(错误): 错误事件,可能会影响系统的某些功能。
Warning(警告): 潜在有害的情况,应该注意并检查,但不一定需要立即采取行动。
Notice(通知): 正常但重要的信息,通常是关于系统组件状态的变化。
Info(信息): 一般的调试信息,用于提供系统运行状态的概览。
Debug(调试): 详细的调试信息,通常用于开发和故障排除。
在dmesg
的输出中,每条消息旁边都会显示一个方括号,里面包含了日志级别和模块名称。例如:
[ 0.000000] Linux version 5.4.0-42-generic (buildd@lgw01-amd64-039) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-42-generic root=UUID=abcd1234-ef56-7890-abcd-1234567890ef ro quiet splash vt.handoff=7
[ 0.000000] KERNEL supported cpus:
在这个例子中,没有显示日志级别,因为默认情况下dmesg
可能只显示警告及以上级别的消息。你可以使用dmesg
命令的-l
选项来指定显示的日志级别,例如:
dmesg -l emerg
这将只显示紧急级别的消息。日志级别也可以通过内核启动参数loglevel
来设置,例如在GRUB配置文件中设置loglevel=8
将会显示所有级别的消息。