温馨提示×

linux dmesg日志如何查看

小樊
41
2026-10-09 10:17:15
栏目: 智能运维

在 Linux 中,dmesg 用于查看**内核环形缓冲区(kernel ring buffer)**的日志,通常包含系统启动信息、硬件检测、驱动加载、内核错误等。

下面按常见场景说明怎么看。


一、基本用法

1. 直接查看全部日志

dmesg

2. 以管理员权限查看(推荐)

某些系统普通用户无权访问:

sudo dmesg

二、常用参数

1. 实时查看(类似 tail -f)

dmesg -w
# 或
watch dmesg

2. 显示人类可读的时间

dmesg -T

示例:

[Tue Oct 10 14:22:31 2024] usb 1-1: new high-speed USB device

3. 按日志级别过滤

dmesg --level=err,warn

常见级别:

  • emerg
  • alert
  • crit
  • err
  • warn
  • notice
  • info
  • debug

4. 查看最近的 N 行

dmesg | tail -n 50

三、结合其他命令使用

1. 查找错误信息

dmesg | grep -i error

2. 查看网卡 / USB / 磁盘相关

dmesg | grep -i usb
dmesg | grep -i eth
dmesg | grep -i sd

3. 配合 less 分页

dmesg -T | less

四、dmesg 与系统日志的区别

  • dmesg:内核启动后的实时内核日志
  • /var/log/dmesg:系统启动时保存的 dmesg 副本
  • journalctl:systemd 系统日志(包含 dmesg)

查看内核日志(systemd 系统):

journalctl -k
journalctl -k -b   # 当前启动

五、常见问题

1. dmesg: read kernel buffer failed: Operation not permitted

解决:

sudo dmesg

或修改权限(不推荐):

sysctl kernel.dmesg_restrict=0

2. dmesg 内容太多看不完?

用过滤 + 时间:

dmesg -T | grep -i "nvme"

如果你有具体想查的问题(如 USB 不识别、网卡异常、OOM、硬盘报错),可以告诉我,我帮你写对应的 dmesg 排查命令。

0 踩