1. CPU与核心(Core)的区别
- CPU(Central Processing Unit): 是整个处理器芯片。
- 核心(Core): 是CPU真正执行计算任务的单元。
- 物理CPU(Socket): 指主板上独立的处理器插槽。一台服务器可能有1个、2个、4个甚至更多物理CPU插槽。
现在几乎所有的CPU都是多核的,也就是说,一个物理CPU可以有多个核心(Core)。
举个例子
| 名称 | 含义 | 数量关系 |
| 物理CPU | 插在主板上的处理器 | 例如:2个 |
| 每个CPU的核心数 | 每个CPU内部的执行单元 | 例如:64核 |
| 逻辑CPU(线程) | 如果开启了超线程(Hyper-Threading),每个核心能提供2个逻辑线程 | 例如:64核 X 2 = 128逻辑核 |
| 物理CPU(Socket) | 主板上独立的处理器插槽数量(例如:1路、2路、4路服务器) | 例如:2路 |
因此:2个物理CPU × 每个64核 × 每核2线程 = 256逻辑CPU(vCPU)
2. 操作系统怎么看?
在 Linux 中,你可以用命令查看:
lscpu
或者:
cat /proc/cpuinfo | grep "processor" | wc -l输出的数字就是系统识别的 逻辑CPU数(vCPU数)。
3. CPU使用率的百分比含义
top或htop里显示的 CPU 使用率是相对于单个核心的100%。
- 例如:
- 如果有 4 核 CPU,那么满载时是 400%;
- 如果有 16 核 CPU,满载时是 1600%;
- 所以如果有 102核,那满载确实是 10200%。
✅ 结论:
102个CPU(如果是102核)= 102个核心 = CPU总利用率最高可达 10200%
4. 注意区分“CPU数”的上下文
| 场景 | “CPU数”含义 | 实际核数可能 |
| 物理主机 | 指物理CPU颗数 | 每颗有多核 |
| 虚拟机或容器 | 指虚拟CPU数(vCPU) | 已映射到物理核或线程 |
| lscpu nproc /proc/cpuinfo | 实际逻辑CPU(核心或线程)数 | 对应使用率总和100% × 数量 |