温馨提示×

如何解析linux cpuinfo

小樊
47
2026-09-29 08:31:37
栏目: 智能运维

在 Linux 系统中,/proc/cpuinfo 是内核提供的虚拟文件,用于展示 CPU 的硬件信息。解析它可以帮助你了解 CPU 型号、核心数、线程数等关键指标。

下面从 字段含义 → 常见解析方法 → 实战示例 逐步说明。


一、查看 cpuinfo

cat /proc/cpuinfo

典型输出(x86 示例):

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 142
model name      : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
stepping        : 10
cpu MHz         : 1800.000
cache size      : 8192 KB
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
flags           : fpu vme de pse tsc msr pae mce cx8 ...

二、关键字段解析

1️⃣ 基础信息

字段 含义
processor 逻辑 CPU 编号(从 0 开始)
vendor_id CPU 厂商(Intel / AMD)
cpu family / model CPU 架构型号
model name CPU 名称
cpu MHz 当前频率
cache size L2/L3 缓存大小

2️⃣ 核心 & 线程关系(重点)

字段 含义
physical id 物理 CPU 编号(多路服务器)
core id 物理核心编号
cpu cores 每个物理 CPU 的 核心数
siblings 每个物理 CPU 的 逻辑 CPU 数

✅ 判断逻辑:

  • siblings > cpu cores → 开启了 超线程(HT)
  • siblings == cpu cores → 未开启 HT

三、常见统计方法(不用手算)

1️⃣ 逻辑 CPU 数(总线程数)

nproc
# 或
grep -c processor /proc/cpuinfo

2️⃣ 物理 CPU 数

grep "physical id" /proc/cpuinfo | sort -u | wc -l

3️⃣ 每颗 CPU 的核心数

grep "cpu cores" /proc/cpuinfo | uniq

4️⃣ 是否开启超线程

echo "逻辑CPU: $(nproc)"
echo "物理核心: $(grep 'cpu cores' /proc/cpuinfo | uniq | awk '{print $4}')"

四、完整解析脚本示例

#!/bin/bash

echo "物理CPU个数: $(grep 'physical id' /proc/cpuinfo | sort -u | wc -l)"
echo "每CPU核心数: $(grep 'cpu cores' /proc/cpuinfo | uniq | awk '{print $4}')"
echo "逻辑CPU总数: $(grep -c processor /proc/cpuinfo)"
echo "是否超线程: $([ $(grep -c processor /proc/cpuinfo) -gt $(grep 'cpu cores' /proc/cpuinfo | uniq | awk '{print $4}') ] && echo 是 || echo 否)"

五、进阶工具(比 cpuinfo 更好用)

lscpu

示例:

Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
CPU(s):              8
On-line CPU(s):      0-7
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1

✅ 推荐:

  • 脚本解析 → /proc/cpuinfo
  • 人工查看 → lscpu

六、ARM / 嵌入式差异

在 ARM(如树莓派)上:

  • 没有 physical id / core id
  • 只有 processor 和 model name

示例:

processor       : 3
model name      : ARMv7 Processor rev 4 (v7l)
BogoMIPS        : 38.40

如果你有:

  • 多路服务器
  • 容器 / 虚拟机环境
  • 想用 Python / Shell 自动解析

可以告诉我,我可以给你 定制解析方案。

0 踩