dmesg
(display message或者driver message)是Linux系统中的一个命令,用于显示内核启动以来的消息缓冲区内容。这些消息通常包括硬件检测、驱动程序加载、系统事件等信息。要解析dmesg
日志中的内核消息,可以按照以下步骤进行:
1. 查看dmesg日志
首先,你可以直接运行dmesg
命令来查看所有的内核消息:
dmesg
或者使用less
或more
命令分页查看:
dmesg | less
2. 过滤关键信息
如果你只对某些类型的消息感兴趣,可以使用grep
命令进行过滤。例如,查找与USB相关的消息:
dmesg | grep usb
或者查找包含特定关键词的消息:
dmesg | grep "error"
3. 分析关键消息
在内核消息中,有一些常见的关键词和短语可以帮助你理解发生了什么:
- [ 0.000000]: 系统启动的初始时间戳。
- [ 0.000000] Initializing cgroup subsys cpuset: 初始化cpuset子系统。
- [ 0.000000] Linux version 5.4.0-42-generic: 显示当前运行的Linux内核版本。
- [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-42-generic root=UUID=… ro quiet splash vt.handoff=7: 显示启动时的命令行参数。
- [ 0.000000] KERNEL supported cpus:: 列出支持的内核CPU。
- [ 0.000000] x86/fpu: Supporting XSAVE feature 0x001: ‘x87 floating point registers’: 支持的XSAVE特性。
- [ 0.000000] x86/fpu: Supporting XSAVE feature 0x002: ‘SSE registers’: 支持的XSAVE特性。
- [ 0.000000] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256: XSAVE状态偏移和大小。
- [ 0.000000] x86/fpu: Enabled xstate features 0x7, context size is 832 bytes, using ‘compacted’ format.: 启用的XSAVE特性及上下文大小。
- [ 0.000000] BIOS-provided physical RAM map:: BIOS提供的物理内存映射。
- [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable: 可用内存范围。
- [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000bfffffff] usable: 可用内存范围。
- [ 0.000000] BIOS-e820: [mem 0x00000000c0000000-0x00000000cfffffff] reserved: 保留内存范围。
- [ 0.000000] BIOS-e820: [mem 0x00000000d0000000-0x00000000d1ffffff] ACPI data: ACPI数据区域。
- [ 0.000000] BIOS-e820: [mem 0x00000000d2000000-0x00000000d2000fff] ACPI NVS: ACPI非易失性存储。
- [ 0.000000] BIOS-e820: [mem 0x00000000d2001000-0x00000000dbffffff] reserved: 保留内存范围。
- [ 0.000000] BIOS-e820: [mem 0x00000000dc000000-0x00000000dfffffff] reserved: 保留内存范围。
- [ 0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000ffffffff] reserved: 保留内存范围。
- [ 0.000000] BIOS-e820: add [mem 0x00000000-0x00000fff] usable: 添加可用内存范围。
- [ 0.000000] BIOS-e820: remove [mem 0x000a0000-0x000fffff] usable: 移除可用内存范围。
- [ 0.000000] NX (Execute Disable) protection: active: 启用NX保护。
- [ 0.000000] SMBIOS 2.8 present.
- [ 0.000000] DMI: QEMU Virtual Machine, BIOS QEMU_EFI_20200229_01 1.0 20200229
- [ 0.000000] tsc: Fast TSC calibration using PIT
- [ 0.000000] tsc: Detected 2499.999 MHz processor
- [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
- [ 0.000000] e820: remove [mem 0x00000000-0xffffffff] usable
- [ 0.000000] e820: add [mem 0x00090000-0x0009ffff] usable
- [ 0.000000] e820: add [mem 0x00100000-0xbfffffff] usable
- [ 0.000000] e820: add [mem 0xc0000000-0xcfffffff] reserved
- [ 0.000000] e820: add [mem 0xd0000000-0xdfffffff] ACPI data
- [ 0.000000] e820: add [mem 0xe0000000-0xefffffff] ACPI NVS
- [ 0.000000] e820: add [mem 0xf0000000-0xffffffff] reserved
- [ 0.000000] NX (Execute Disable) protection: active
- [ 0.000000] SMBIOS 2.8 present.
- [ 0.000000] DMI: QEMU Virtual Machine, BIOS QEMU_EFI_20200229_01 1.0 20200229
- [ 0.000000] tsc: Fast TSC calibration using PIT
- [ 0.000000] tsc: Detected 2499.999 MHz processor
- [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
- [ 0.000000] e820: remove [mem 0x00000000-0xffffffff] usable
- [ 0.000000] e820: add [mem 0x00090000-0x0009ffff] usable
- [ 0.000000] e820: add [mem 0x00100000-0xbfffffff] usable
- [ 0.000000] e820: add [mem 0xc0000000-0xcfffffff] reserved
- [ 0.000000] e820: add [mem 0xd0000000-0xdfffffff] ACPI data
- [ 0.000000] e820: add [mem 0xe0000000-0xefffffff] ACPI NVS
- [ 0.000000] e820: add [mem 0xf0000000-0xffffffff] reserved
- [ 0.000000] NX (Execute Disable) protection: active
- [ 0.000000] SMBIOS 2.8 present.
- [ 0.000000] DMI: QEMU Virtual Machine, BIOS QEMU_EFI_20200229_01 1.0 20200229
- [ 0.000000] tsc: Fast TSC calibration using PIT
- [ 0.000000] tsc: Detected 2499.999 MHz processor
- [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
- [ 0.000000] e820: remove [mem 0x00000000-0xffffffff] usable
- [ 0.000000] e820: add [mem 0x00090000-0x0009ffff] usable
- [ 0.000000] e820: add [mem 0x00100000-0xbfffffff] usable
- [ 0.000000] e820: add [mem 0xc0000000-0xcfffffff] reserved
- [ 0.000000] e820: add [mem 0xd0000000-0xdfffffff] ACPI data
- [ 0.000000] e820: add [mem 0xe0000000-0xefffffff] ACPI NVS
- [ 0.000000] e820: add [mem 0xf0000000-0xffffffff] reserved
- [ 0.000000] NX (Execute Disable) protection: active
- [ 0.000000] SMBIOS 2.8 present.
- [ 0.000000] DMI: QEMU Virtual Machine, BIOS QEMU_EFI_20200229_01 1.0 20200229
- [ 0.000000] tsc: Fast TSC calibration using PIT
- [ 0.000000] tsc: Detected 2499.999 MHz processor
- [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
- [ 0.000000] e820: remove [mem 0x00000000-0xffffffff] usable
- [ 0.000000] e820: add [mem 0x00090000-0x0009ffff] usable
- [ 0.000000] e820: add [mem 0x00100000-0xbfffffff] usable
- [ 0.000000] e820: add [mem 0xc0000000-0xcfffffff] reserved
- [ 0.000000] e820: add [mem 0xd0000000-0xdfffffff] ACPI data
- [ 0.000000] e820: add [mem 0xe0000000-0xefffffff] ACPI NVS
- [ 0.000000] e820: add [mem 0xf0000000-0xffffffff] reserved
- [ 0.000000] NX (Execute Disable) protection: active
- [ 0.000000] SMBIOS 2.8 present.
- [ 0.000000] DMI: QEMU Virtual Machine, BIOS QEMU_EFI_20200229_01 1.0 20200229
- [ 0.000000] tsc: Fast TSC calibration using PIT
- [ 0.000000] tsc: Detected 2499.999 MHz processor
- [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
- [ 0.000000] e820: remove [mem 0x00000000-0xffffffff] usable
- [ 0.000000] e820: add [mem 0x00090000-0x0009ffff] usable
- [ 0.000000] e820: add [mem 0x00100000-0xbfffffff] usable
- [ 0.000000] e820: add [mem 0xc0000000-0xcfffffff] reserved
- [ 0.000000] e820: add [mem 0xd0000000-0xdfffffff] ACPI data
- [ 0.000000] e820: add [mem 0xe0000000-0xefffffff] ACPI NVS
- [ 0.000000] e820: add [mem 0xf0000000-0xffffffff] reserved
- [ 0.000000] NX (Execute Disable) protection: active
- [ 0.000000] SMBIOS 2.8 present.
- [ 0.000000] DMI: QEMU Virtual Machine, BIOS QEMU_EFI_20200229_01 1.0 20200229
- [ 0.000000] tsc: Fast TSC calibration using PIT
- [ 0.000000] tsc: Detected 2499.999 MHz processor
- [ 0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
- [ 0.000000] e820: remove [mem 0x00000000-0xffffffff] usable
- [ 0.000000] e820: add [mem 0x00090000-0x0009ffff] usable
- [ 0.000000] e820: add [mem 0x00100000-0xbfffffff] usable
- [ 0.000000] e820: add [mem 0xc0000000-0xcfffffff] reserved
- [ 0.000000] e820: add [mem 0xd0000000-0xdfffffff] ACPI data
- [ 0.000000] e820: add [mem 0xe0000000-0xefffffff] ACPI NVS
- **[