解读 Debian 的内核日志(kernel log)是排查系统问题(如硬件故障、驱动异常、系统崩溃、性能问题等)的重要手段。下面从日志来源、查看方式、常见内容结构、关键字段含义、典型案例几个方面系统说明。
Debian 中内核日志主要来自:
rsyslog / syslog-ng(传统)systemd-journald(现代 Debian,推荐)/var/log/kern.log/var/log/syslog/var/log/dmesg(部分系统)dmesg
或实时查看:
dmesg -w
以可读时间显示:
dmesg -T
journalctl -k
实时跟踪:
journalctl -k -f
按时间范围:
journalctl -k --since "2024-01-01 10:00" --until "2024-01-01 11:00"
less /var/log/kern.log
tail -f /var/log/kern.log
一条典型内核日志:
[ 2.345678] usb 1-1: new high-speed USB device number 2 using xhci_hcd
结构说明:
[ 时间戳 ] 子系统: 具体信息
| 部分 | 含义 |
|---|---|
[ 2.345678] |
系统启动后经过的秒数 |
usb |
子系统(usb / pci / net / ext4 等) |
1-1 |
设备路径 |
xhci_hcd |
使用的驱动 |
内核日志有优先级(从严重到普通):
| 级别 | 含义 |
|---|---|
| emerg | 系统不可用 |
| alert | 必须立即处理 |
| crit | 临界错误 |
| err | 错误 |
| warn | 警告 |
| notice | 普通但重要 |
| info | 信息 |
| debug | 调试信息 |
查看示例:
dmesg --level=err,warn
pci 0000:00:1f.2: AHCI controller unavailable
→ PCI 设备初始化失败,可能是 BIOS 或硬件问题
ata1.00: failed command: READ FPDMA QUEUED
→ 磁盘 I/O 错误,可能硬盘故障
nouveau: unknown chipset
→ 显卡驱动不支持该硬件
module verification failed: signature and/or required key missing
→ 内核模块未签名(常见于 Secure Boot)
EXT4-fs error (device sda1): ext4_find_entry: mkdir denied
→ 文件系统错误或磁盘损坏
Out of memory: Kill process 1234 (java)
→ 内存耗尽,OOM Killer 杀进程
eth0: link down
→ 网卡断开
TCP: out of memory -- consider tuning tcp_mem
→ 网络内存参数不足
BUG: unable to handle kernel NULL pointer dereference
→ 内核空指针,严重 bug
Kernel panic - not syncing: Fatal exception
→ 系统停止运行
dmesg | grep -i error
dmesg | grep -i usb
journalctl -k | grep -i oom
dmesg > before.txt
# 做操作后
dmesg > after.txt
diff before.txt after.txt
udevadm monitor
lspci -k
lsusb
crash:分析内核崩溃转储(kdump)netconsole:远程内核日志kdump + kexec:内核崩溃捕获perf / ftrace:内核级性能分析Debian 内核日志 = 内核“自述病情”的记录,重点看时间、子系统、错误级别和关键设备名。
如果你有具体的日志内容,可以直接贴出来,我可以帮你逐行解读并判断问题原因。