在 Debian 系统中,解析 CPU 信息通常是通过读取 /proc/cpuinfo 文件或借助系统工具来完成的。下面从查看、解析方式、常见字段含义、编程解析几个方面说明。
cat /proc/cpuinfo
每一颗逻辑 CPU 会有一段信息(多核/超线程会有多段)。
lscpu
输出更结构化,适合快速查看:
常见字段说明:
| 字段 | 含义 |
|---|---|
| processor | 逻辑 CPU 编号 |
| vendor_id | CPU 厂商(如 GenuineIntel) |
| model name | CPU 型号 |
| cpu family | CPU 家族 |
| model | CPU 型号编号 |
| stepping | 步进 |
| physical id | 物理 CPU 编号 |
| core id | 核心编号 |
| cpu cores | 每个物理 CPU 的核心数 |
| siblings | 每个物理 CPU 的逻辑 CPU 数 |
| flags | CPU 特性指令集 |
| bogomips | 性能参考值 |
grep "model name" /proc/cpuinfo | uniq
grep -c processor /proc/cpuinfo
grep "physical id" /proc/cpuinfo | sort -u | wc -l
grep "cpu cores" /proc/cpuinfo | uniq
#!/bin/bash
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)"
echo "CPU型号: $(grep 'model name' /proc/cpuinfo | uniq)"
cpuinfo = {}
with open('/proc/cpuinfo') as f:
for line in f:
if ':' in line:
key, val = line.split(':', 1)
cpuinfo[key.strip()] = val.strip()
print(cpuinfo['model name'])
print(cpuinfo['cpu cores'])
pip install psutil
import psutil
print(psutil.cpu_count(logical=True)) # 逻辑CPU
print(psutil.cpu_count(logical=False)) # 物理核心
print(psutil.cpu_freq())
lscpu/proc/cpuinfo如果你有特定解析需求(如 NUMA、CPU 亲和性、虚拟化支持),可以告诉我,我可以给更针对性的示例。