1. 命令概述
dmidecode 是一个读取系统硬件信息的命令行工具,通过解析 SMBIOS/DMI (System Management BIOS/Desktop Management Interface) 数据来获取主板、BIOS、内存等硬件的详细信息。
1.1 基本语法
sudo dmidecode -t baseboard
参数说明:
sudo: 需要 root 权限访问/sys/firmware/dmi/tables/-t baseboard: 只显示 Type 2 (Base Board) 信息- 其他常用类型:
bios,system,processor,memory,cache
2. 实际输出示例
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 3.5.0 present.
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: TUF GAMING B650M-PLUS
Version: Rev 1.xx
Serial Number: 240437035402493
Asset Tag: Default string
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: Default string
Chassis Handle: 0x0003
Type: Motherboard
Contained Object Handles: 0
Handle 0x0004, DMI type 10, 6 bytes
On Board Device Information
Type: Video
Status: Enabled
Description: To Be Filled By O.E.M.
Handle 0x0046, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Realtek ALC897 Audio
Type: Sound
Status: Enabled
Type Instance: 1
Bus Address: 0000:0f:00.6
Handle 0x0047, DMI type 41, 11 bytes
Onboard Device
Reference Designation: Realtek RTL8125BG LAN
Type: Ethernet
Status: Enabled
Type Instance: 1
Bus Address: 0000:0b:00.0
3. 输出信息详解
3.1. SMBIOS 版本
SMBIOS 3.5.0 present.
- 含义: 系统固件支持的 SMBIOS 规范版本
- 版本: 3.5.0 是较新版本(2022 年发布)
- 作用: 决定了可用的硬件信息字段和功能
3.2. Base Board Information (Handle 0x0002)
| 字段 | 值 | 含义 | 用途 |
|---|---|---|---|
| Manufacturer | ASUSTeK COMPUTER INC. | 主板制造商 | 驱动适配、技术支持 |
| Product Name | TUF GAMING B650M-PLUS | 主板型号 | 硬件识别、兼容性检查 |
| Version | Rev 1.xx | 硬件版本 | 区分不同批次硬件 |
| Serial Number | 240437035402493 | 唯一序列号 | 保修追踪、资产管理 |
| Asset Tag | Default string | 资产标签 | 企业环境资产追踪 |
| Type | Motherboard | 板卡类型 | 设备分类 |
| Chassis Handle | 0x0003 | 关联的机箱 Handle | 拓扑关系 |
| Contained Object Handles | 0 | 包含的子对象数量 | 单 CPU 插槽,单 NUMA 节点 |
Features 说明:
Board is a hosting board: 主板,可承载 CPU/内存等核心组件Board is replaceable: 可更换的板卡(非集成设计)
3.3. On Board Device Information (Handle 0x0004)
Type: Video
Status: Enabled
Description: To Be Filled By O.E.M.
解读:
- Type: Video - 集成显卡接口
- Status: Enabled - 接口已启用
- Description: 未填充具体信息(OEM 占位符)
- 说明: 主板支持集成 GPU(如 Ryzen APU 的 Radeon 780M)
3.4. Onboard Device - 音频芯片 (Handle 0x0046)
Reference Designation: Realtek ALC897 Audio
Type: Sound
Status: Enabled
Type Instance: 1
Bus Address: 0000:0f:00.6
详细信息:
- 芯片型号: Realtek ALC897 (7.1 声道音频编解码器)
- PCI 地址:
0000:0f:00.6- Domain: 0000
- Bus: 0f (15)
- Device: 00
- Function: 6
- 位置: 通常在 CPU 内置的 I/O 控制器上
- 驱动: Linux 使用
snd_hda_intel驱动
3.5. Onboard Device - 网卡芯片 (Handle 0x0047)
Reference Designation: Realtek RTL8125BG LAN
Type: Ethernet
Status: Enabled
Type Instance: 1
Bus Address: 0000:0b:00.0
详细信息:
- 芯片型号: Realtek RTL8125BG (2.5Gbps 以太网控制器)
- PCI 地址:
0000:0b:00.0- Bus: 0b (11)
- Device: 00
- Function: 0
- 性能: 支持 2.5 Gigabit Ethernet
- 驱动: 需要
r8125驱动(或内核内置的r8169)
4. 主要用途
4.1. 硬件识别与验证
# 检查主板型号
dmidecode -t baseboard | grep "Product Name"
# 验证内存插槽
dmidecode -t memory | grep "Number Of Devices"
# 查看 BIOS 版本
dmidecode -t bios
# 查看 CPU 信息
dmidecode -t processor
输出示例:
Product Name: TUF GAMING B650M-PLUS
Number Of Devices: 4
Version: 2103
Version: AMD Ryzen 7 7800X3D 8-Core Processor
4.2. 资产管理
# 获取序列号(用于资产追踪)
dmidecode -t baseboard | grep "Serial Number"
# 自动化库存脚本
dmidecode -t system | grep -E "Manufacturer|Product|Serial"
# 生成硬件清单
dmidecode > /var/log/hardware_inventory_$(date +%Y%m%d).txt
应用场景:
- 企业 IT 资产追踪
- 设备保修管理
- 硬件审计
4.3. 驱动程序适配
# 识别板载设备
dmidecode -t 41 # Type 41: Onboard Devices Extended
# 根据输出选择驱动
# Realtek ALC897 → 安装 snd_hda_intel 驱动
# Realtek RTL8125BG → 安装 r8125 驱动
# 验证驱动加载
lspci -k | grep -A 3 "Audio\|Ethernet"
驱动匹配示例:
# 音频芯片
modprobe snd_hda_intel
# 网卡芯片
# 方法 1: 使用内核内置驱动
modprobe r8169
# 方法 2: 使用官方驱动 (更好的性能)
git clone https://github.com/awesometic/realtek-r8125-dkms.git
cd realtek-r8125-dkms
sudo ./dkms-install.sh
4.4. 系统兼容性检查
# 检查 SMBIOS 版本支持
dmidecode | head -3
# 验证内存支持
dmidecode -t memory | grep "Maximum Capacity"
# 检查 CPU 插槽数量
dmidecode -t processor | grep "Socket Designation"
兼容性验证示例(TUF GAMING B650M-PLUS):
SMBIOS 3.5.0 present. → 支持最新规范
Maximum Capacity: 128 GB → 最大 128GB 内存
Type: DDR5 → 仅支持 DDR5
Socket Designation: AM5 → AMD Ryzen 7000 系列
4.5. 故障诊断
# 检查主板温度传感器
sensors-detect # 配合 dmidecode 识别的芯片信息
# 检查 PCI 设备冲突
lspci -tv # 对比 dmidecode 的 Bus Address
# 验证设备树
dmidecode -t 9,41 | grep "Bus Address"
lspci | grep -E "0f:00.6|0b:00.0"
故障排查流程:
1. dmidecode 识别硬件 → Realtek ALC897 @ 0000:0f:00.6
2. lspci 验证设备 → 确认设备存在
3. lspci -k 检查驱动 → 确认驱动加载
4. dmesg | grep snd → 查看驱动加载日志
5. aplay -l → 验证音频设备可用
5. 实际应用示例
示例 1: ROCm GPU 拓扑分析
结合 IOLink 检测,使用 dmidecode 验证硬件拓扑:
# 1. 查看主板型号
dmidecode -t baseboard | grep "Product Name"
# Output: TUF GAMING B650M-PLUS
# 2. 查看 CPU 信息
dmidecode -t processor | grep -E "Version|Core Count"
# 确认 CPU 型号(如 Ryzen 7 7800X3D)
# 3. 查看板载设备的 PCI 总线
dmidecode -t 41 | grep "Bus Address"
# 0000:0f:00.6 (音频)
# 0000:0b:00.0 (网卡)
# 4. 对比 lspci 输出,构建完整拓扑
lspci | grep -E "VGA|Audio|Ethernet"
# 验证 PCI 设备树结构
# 5. 查看 NUMA 拓扑
numactl --hardware
# 结合 dmidecode 的 CPU 插槽信息
拓扑分析结果:
TUF GAMING B650M-PLUS (单插槽主板)
└─ CPU: Ryzen 7 7800X3D (8C/16T)
├─ iGPU: Radeon Graphics (RDNA2, 2 CU)
├─ Memory Controller: 双通道 DDR5
├─ PCIe 总线:
│ ├─ 0000:01:00.0 - dGPU (如果安装)
│ ├─ 0000:0b:00.0 - Realtek RTL8125BG (LAN)
│ └─ 0000:0f:00.6 - Realtek ALC897 (Audio)
└─ NUMA Node: 0 (单节点)
示例 2: NUMA 拓扑验证
# 检查主板是否支持多 CPU 插槽
dmidecode -t baseboard | grep "Contained Object Handles"
# TUF GAMING B650M-PLUS: Contained Object Handles: 0
# → 单 CPU 插槽,单 NUMA 节点
# 对比双路服务器主板
# 示例: Supermicro H12DSi-NT6
# Contained Object Handles: 2
# → 双 CPU,双 NUMA 节点
# 验证 NUMA 配置
numactl --hardware
NUMA 拓扑对比:
| 主板类型 | CPU 插槽 | NUMA 节点 | 内存通道 | 适用场景 |
|---|---|---|---|---|
| TUF GAMING B650M-PLUS | 1 | 1 | 2 (DDR5) | 桌面、单 GPU |
| EPYC 服务器主板 | 2 | 2 | 8×2 (DDR4) | 多 GPU、HPC |
### 示例 3: 内存配置检查
```bash
# 查看内存插槽信息
dmidecode -t memory
# 关键输出解读
典型输出:
Handle 0x0010, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 128 GB
Number Of Devices: 4
Handle 0x0011, DMI type 17, 92 bytes
Memory Device
Total Width: 64 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Type: DDR5
Speed: 6000 MT/s
Manufacturer: Kingston
Serial Number: ...
Locator: DIMM_A1
# 验证内存配置
dmidecode -t memory | grep -E "Size|Speed|Locator" | grep -v "No Module"
# 输出示例(双通道配置)
Size: 16 GB
Speed: 6000 MT/s
Locator: DIMM_A1
Size: 16 GB
Speed: 6000 MT/s
Locator: DIMM_B1
示例 4: PCI 设备 NUMA 亲和性分析
# 1. 从 dmidecode 获取板载设备 PCI 地址
dmidecode -t 41 | grep "Bus Address"
# 0000:0b:00.0 (网卡)
# 0000:0f:00.6 (音频)
# 2. 查看设备的 NUMA 绑定
cat /sys/bus/pci/devices/0000:0b:00.0/numa_node
# Output: 0
cat /sys/bus/pci/devices/0000:0f:00.0/numa_node
# Output: 0
# 3. 验证设备树
lspci -tv
完整拓扑映射:
NUMA Node 0 (CPU + Memory)
├─ 0000:00:00.0 - Host Bridge
├─ 0000:01:00.0 - AMD/ATI Radeon RX 7900 XTX
├─ 0000:0b:00.0 - Realtek RTL8125BG (LAN)
└─ 0000:0f:00.6 - Realtek ALC897 (Audio)
## 常用命令组合
### 1. 完整硬件清单
```bash
# 生成完整报告
dmidecode > hardware_info.txt
# 或者格式化输出
dmidecode | less
2. 主板 + BIOS 概览
dmidecode -t baseboard,bios
# 关键信息提取
dmidecode -t baseboard,bios | grep -E "Manufacturer|Product|Version|Date"
输出示例:
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: TUF GAMING B650M-PLUS
Version: Rev 1.xx
Vendor: American Megatrends International, LLC.
Version: 2103
Release Date: 08/28/2023
3. 所有 PCI 设备
# Type 9: System Slots
# Type 41: Onboard Devices Extended
dmidecode -t 9,41
# 提取 PCI 地址
dmidecode -t 9,41 | grep "Bus Address" | sort -u
4. 内存详细信息
# Type 16: Physical Memory Array
# Type 17: Memory Device
dmidecode -t memory
# 简化输出
dmidecode -t memory | grep -E "Size|Speed|Type|Manufacturer" | grep -v "No Module"
5. 序列号汇总(资产管理)
dmidecode -t system,baseboard,chassis | grep "Serial Number"
# 输出示例
Serial Number: System_SN_123456
Serial Number: 240437035402493
Serial Number: Chassis_SN_789012
6. JSON 格式输出(脚本处理)
# 需要 dmidecode 3.3+
dmidecode --type baseboard --dump-bin baseboard.bin
# 或使用 jq 处理
dmidecode -t baseboard | awk '/Product Name/ {print $3}' | jq -R -s -c 'split("\n")'
6. 与其他工具对比
| 工具 | 数据源 | 优势 | 劣势 | 主要用途 |
|---|---|---|---|---|
dmidecode | SMBIOS 固件表 | 静态硬件信息 序列号 官方规范 | 无实时状态 需要 root | 资产管理 硬件识别 |
lspci | PCI 配置空间 | 实时设备树 详细配置 无需 root | 无序列号 无固件信息 | 驱动调试 总线分析 |
lshw | 多源聚合 | 完整硬件树 友好输出 HTML 格式 | 速度慢 信息重复 | 综合硬件清单 |
hwinfo | 内核探测 | 动态设备状态 硬件数据库 | 输出冗长 不够标准 | 硬件兼容性测试 |
inxi | 混合源 | 用户友好 系统概览 | 精度较低 | 快速查看 |
rocm-smi | GPU 驱动 | GPU 拓扑 性能监控 | 仅限 AMD GPU | GPU 优化 (IOLink) |
使用建议:
- 资产管理:
dmidecode(唯一序列号) - 驱动开发:
lspci -vvv(详细配置) - 用户支持:
lshw -short(清晰概览) - GPU 优化:
rocm-smi --showtopo+dmidecode(拓扑分析)
7. DMI Type 参考表
| Type | 名称 | 描述 | 常用场景 |
|---|---|---|---|
| 0 | BIOS Information | BIOS 版本、厂商、日期 | 固件更新 |
| 1 | System Information | 系统制造商、型号、UUID | 资产管理 |
| 2 | Base Board Information | 主板信息(本文重点) | 硬件识别 |
| 3 | Chassis Information | 机箱类型、序列号 | 物理管理 |
| 4 | Processor Information | CPU 型号、核心数、频率 | 性能分析 |
| 7 | Cache Information | CPU 缓存配置 | 性能优化 |
| 9 | System Slots | PCIe/PCI 插槽信息 | 扩展卡管理 |
| 16 | Physical Memory Array | 内存插槽数、最大容量 | 内存规划 |
| 17 | Memory Device | 具体内存条信息 | 内存诊断 |
| 41 | Onboard Devices Extended | 板载设备(网卡、音频等) | 驱动适配 |
完整 Type 列表:
# 查看所有可用 Type
dmidecode --type list
# 或者查看帮助
man dmidecode
8. 总结
8.1 核心价值
dmidecode 提供了硬件身份证级别的静态信息,适用于:
- ✅ 硬件验证与资产管理
- ✅ 驱动程序选择与适配
- ✅ 系统兼容性检查
- ✅ NUMA 拓扑初步分析
- ✅ 故障诊断与技术支持
8.2 快速参考
# 最常用命令
sudo dmidecode -t baseboard # 主板信息
sudo dmidecode -t processor # CPU 信息
sudo dmidecode -t memory # 内存信息
sudo dmidecode -t bios # BIOS 信息
sudo dmidecode -t 41 # 板载设备
# 输出过滤
sudo dmidecode | grep -i "product" # 产品名称
sudo dmidecode | grep -i "serial" # 序列号
sudo dmidecode | grep -i "speed" # 频率/速度
# 组合使用
sudo dmidecode -t baseboard,bios,processor | less
8.3 相关资源
- SMBIOS 规范: https://www.dmtf.org/standards/smbios
- dmidecode 项目: https://www.nongnu.org/dmidecode/
- Linux 硬件数据库: https://linux-hardware.org/
953

被折叠的 条评论
为什么被折叠?



