在 Linux 系统中,/proc/cpuinfo 是查看 CPU 硬件信息的重要文件。下面从如何查看、字段含义、常见解析方法、实用示例几个方面说明。
cat /proc/cpuinfo
或用更可读的方式:
lscpu
lscpu 实际上是对 /proc/cpuinfo 的整理和汇总。
每个逻辑 CPU 会有一段信息,常见字段如下:
| 字段 | 含义 |
|---|---|
| processor | 逻辑 CPU 编号(从 0 开始) |
| vendor_id | CPU 厂商(如 GenuineIntel、AuthenticAMD) |
| cpu family | CPU 家族 |
| model | CPU 型号 |
| model name | CPU 名称(最重要) |
| stepping | 步进版本 |
| physical id | 物理 CPU 编号 |
| core id | 核心编号 |
| cpu cores | 一个物理 CPU 的核心数 |
| siblings | 一个物理 CPU 的逻辑 CPU 数 |
| flags | CPU 支持的指令集(如 sse、avx) |
| bogomips | 粗略性能参考值 |
grep "model name" /proc/cpuinfo | uniq
grep -c processor /proc/cpuinfo
grep "physical id" /proc/cpuinfo | sort | uniq | wc -l
grep "cpu cores" /proc/cpuinfo | uniq
逻辑CPU数 = 物理CPU数 × cpu cores × 2
示例:
awk '/^processor/{n++} END{print n}' /proc/cpuinfo
awk -F: '/model name|cpu cores/{print $2}' /proc/cpuinfo | uniq
lscpu
重点看:
with open('/proc/cpuinfo') as f:
info = f.read()
for line in info.splitlines():
if line.startswith('model name'):
print(line)
如果你有具体需求(比如:判断超线程、统计 NUMA、写监控脚本),可以告诉我,我可以给你更针对性的解析方式。