温馨提示×

如何过滤dmesg关键错误信息

小樊
34
2026-10-21 00:49:01
栏目: 编程语言

在 Linux 中,dmesg 用于查看内核环形缓冲区日志。要过滤关键错误信息,常见且实用的方法如下:


一、按日志级别过滤(最推荐)

1. 只显示错误及以上级别(err / crit / alert / emerg)

dmesg -l err

或更严格:

dmesg -l err,crit,alert,emerg

2. 显示某一级别及更严重

dmesg --level=err

常见级别:

  • emerg 系统不可用
  • alert 必须立即处理
  • crit 临界状态
  • err 错误
  • warn 警告
  • info 信息
  • debug 调试

二、使用 grep 过滤关键字(最灵活)

1. 过滤错误关键字

dmesg | grep -i error
dmesg | grep -iE "error|fail|panic|oom"

2. 排除无关信息(反向过滤)

dmesg | grep -vi "usb"

三、结合 systemd(现代 Linux)

如果你的系统使用 systemd:

journalctl -k -p err
  • -k:只查看内核日志
  • -p err:错误及以上

实时查看:

journalctl -k -p err -f

四、实时监控关键错误

dmesg -w -l err

或:

watch "dmesg -l err"

五、实用组合示例

查看最近一次启动后的关键错误

dmesg -T | grep -iE "error|fail|panic" | tail -50

(-T 显示可读时间)

检查 OOM(内存不足)

dmesg | grep -i oom

检查硬件/驱动问题

dmesg -l err,crit | grep -iE "nvme|sata|eth|pci"

六、保存错误日志便于分析

dmesg -l err > dmesg_err.log

如果你有具体场景(如:服务器宕机、网卡异常、磁盘错误、容器环境),可以告诉我,我可以给你更精准的过滤命令。

0 踩