首页 > Sysadmin > 正文

Linux 查看 CPU 型号:lscpu、dmidecode 与 /proc/cpuinfo

huyuanwen 2026-11-01 Sysadmin

lscpu 表格化输出最直观,grep /proc/cpuinfo 适合脚本提取;dmidecode 需 root 且 WSL 环境不可用。以下均经 WSL2 实测(dmidecode 除外)。

一、TL;DR:按场景选命令

  • 交互查看:lscpu,表格清晰,直接看 Model name 行。
  • 脚本/管道:grep 'model name' /proc/cpuinfo | head -n1,一行取型号。
  • 需要 DMI/SMBIOS 详情:dmidecode -t processor,需 root,且依赖机器有真实 DMI 表。

二、lscpu:优先推荐,表格化输出

lscpu | grep 'Model name'
lscpu | grep 'CPU family'
lscpu | grep 'Stepping'

实测输出:

Model name:                              12th Gen Intel(R) Core(TM) i7-12700H
CPU family:                              6
Stepping:                                4

lscpu 从 sysfs、/proc/cpuinfo 和架构库取数,输出按字段对齐,适合直接读 [2]。如果只取型号用于脚本,加 awk -F: '{print $2}' 或 cut 都可以;注意不同发行版 lscpu 版本不同,字段间距可能变化。

三、/proc/cpuinfo:脚本最友好

grep 'model name' /proc/cpuinfo | head -n1
grep 'cpu family' /proc/cpuinfo | head -n1

/ proc/cpuinfo 是内核导出的文件,每个逻辑 CPU 一行,多核/多线程会重复 [1]。只要看型号,head -n1 足够;如果要统计核心数或核显信息,再展开整个文件。

四、dmidecode:DMI 表解码,需 root

sudo dmidecode -t processor | grep -E 'Version|Manufacturer|Max Speed'

这条命令读取系统的 DMI/SMBIOS 表,能拿到厂商、版本、最大频率等 [3]。但前提是机器有实际 DMI 表并且你有 root。

五、按架构、权限与虚拟化的差异

环境 lscpu /proc/cpuinfo dmidecode
物理机 x86_64 正常 正常 正常
虚拟机(KVM/VMware) 正常,显示虚拟化型号 正常 可能显示宿主机型号或空
WSL2 正常 正常 不可用,DMI 表不存在,命令会卡住
容器 正常 正常 通常没有 root 权限,且无 DMI 表

容器里通常有 lscpu 和 /proc/cpuinfo,直接看即可。云服务器若被 hypervisor 隐藏了真实 CPU,两种文件都只显示虚拟化后的型号,这是预期行为。

六、回滚、排错与局限性

排错速查

现象 原因 处理
lscpu 报 “cannot open /proc/cpuinfo” 内核或文件系统异常 先确认 uname -r 和挂载状态
grep 无输出 字段名大小写不同(如 x86 用 model,arm64 用 CPU part) 先 `cat /proc/cpuinfo head` 看字段名
dmidecode 卡住或报错 WSL/容器无 DMI 表,或没 root 改走 lscpu 或 /proc/cpuinfo
型号显示 “Unknown” 某些 ARM 板卡厂商未填写 以 CPU implementer / part 为准,查 ARM 公开映射表

局限性

  • dmidecode 在 WSL2 和大多数容器里不可用,不能作为通用方案。
  • 虚拟化环境中型号由 hypervisor 提供,可能不是物理真实型号。
  • /proc/cpuinfo 字段名随架构变化,x86 和 ARM 的关键字段不同。

实测记录

  • 环境:WSL2 Ubuntu 24.04,内核 5.15,host CPU i7-12700H。
  • lscpu:输出正常,Model name / CPU family / Stepping 均可见。
  • /proc/cpuinfo:grep ‘model name’ 首行与 lscpu 一致。
  • dmidecode:包已安装,执行超时,WSL 无 DMI 表,未获取到数据。

参考资料

文中主要命令已在 WSL Ubuntu(24.04)实测并核对其在 Debian 系与通用发行版的文档口径。