在 Debian(以及所有 Linux 系统)里,CPU 信息主要通过 /proc/cpuinfo 文件来查看和解析。下面从「怎么看」「字段含义」「如何解析」三个角度说明。
cat /proc/cpuinfo
lscpu
(lscpu 是对 /proc/cpuinfo 的友好封装,适合快速查看)
/proc/cpuinfo 结构说明/proc/cpuinfo 每个逻辑 CPU 一个 block,以空行分隔。
示例(x86_64):
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 142
model name : Intel(R) Core(TM) i7-8550U CPU @ 1.80GHz
stepping : 10
microcode : 0xea
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 ...
| 字段 | 含义 |
|---|---|
processor |
逻辑 CPU 编号(从 0 开始) |
vendor_id |
CPU 厂商(Intel / AMD) |
model name |
CPU 型号 |
cpu MHz |
当前频率 |
physical id |
物理 CPU 编号 |
siblings |
该物理 CPU 的逻辑核心数 |
core id |
核心编号 |
cpu cores |
物理核心数 |
flags |
支持的 CPU 特性(如 avx, sse) |
grep -c ^processor /proc/cpuinfo
grep 'physical id' /proc/cpuinfo | sort -u | wc -l
grep 'cpu cores' /proc/cpuinfo | uniq
# 逻辑CPU > 物理核心 → 超线程
echo "逻辑CPU: $(grep -c processor /proc/cpuinfo)"
echo "物理CPU: $(grep 'physical id' /proc/cpuinfo | sort -u | wc -l)"
echo "每CPU核心数: $(grep 'cpu cores' /proc/cpuinfo | uniq)"
info = {}
with open('/proc/cpuinfo') as f:
for line in f:
if ':' in line:
k, v = line.split(':', 1)
info[k.strip()] = v.strip()
print(info['model name'])
print(info['cpu cores'])
/proc/cpuinfo 不是硬件全部信息如果你愿意,可以告诉我:
我可以直接给你对应解析代码。