首页·终端命令

dmesg

进程与系统

用法

sudo dmesg -T | tail

读取内核的环形缓冲区,磁盘或 USB 出问题后第一个该看的地方;缓冲区大小固定,旧行早被挤掉了,而现在多数发行版要 root(macOS 用 `log show`)。

常用选项

选项含义
-THuman-readable timestamps instead of seconds since boot.
-wFollow new kernel messages as they appear.
-l err,warnFilter by level.
-HPaged, colourised, relative-time output.
--since "5 min ago"Time-bounded output (newer util-linux).

示例

sudo dmesg -T | tail -50

Read what the kernel said about a disk or USB device just now.

dmesg -w

Watch live while you plug something in.

log show --last 10m

The macOS equivalent; its dmesg exists but shows almost nothing.

看什么在跑、什么在吃机器。先弄清是什么,再决定杀不杀。

怎么看

  • 方括号 [ ] 表示这部分可以不写。
  • 省略号 … 表示可以写多个。
  • 选项区分大小写——有些命令里 -r 和 -R 不是一回事。

常见问题

Q. dmesg 是做什么的?

读取内核的环形缓冲区,磁盘或 USB 出问题后第一个该看的地方;缓冲区大小固定,旧行早被挤掉了,而现在多数发行版要 root(macOS 用 `log show`)。

Q. 怎么写?

sudo dmesg -T | tail —— 方括号表示可以省略的部分。

Q. 值得记的选项有几个?

这里列了 5 个,完整列表在 man dmesg。这条命令属于进程与系统。

相关命令

man 手册: man dmesg