直接给结论:云服务器(ECS/CVM)看到的 CPU 核心数,通常指的是“逻辑核”(Logical Cores),也就是 vCPU。
但这背后的映射关系比较复杂,不能简单画等号。为了让你彻底搞清楚,我们分三个层面来拆解:
1. 为什么叫 vCPU?
在云原生时代,物理服务器是底层的硬件资源池。云计算厂商(如阿里云、AWS、腾讯云等)通过虚拟化技术(KVM, Xen, Hyper-V 等)将一台强大的物理宿主机的 CPU 算力切分成无数个小块,分配给不同的虚拟机。
你买到的“4 核”,是指这个虚拟机实例被分配了 4 个 vCPU 的时间片。
2. vCPU 和物理核的关系是什么?
这里有一个关键的指标叫 超分比(Overcommit Ratio)。
-
情况 A:高配/独占型实例(如计算优化型 c7、g7 等)
- 很多云厂商会宣传“1 vCPU = 1 物理核”或者“1 vCPU = 0.5 物理核”。
- 例如:在某些高性能实例中,一个 vCPU 可能对应宿主机的一个完整物理线程(Hyper-threading 开启后)。如果宿主机是 8 核 16 线程的 CPU,它最多可以分配 16 个 vCPU 给其他实例,而不产生争抢。
- 此时: 你的 1 vCPU ≈ 1 物理线程。性能最接近裸金属,延迟最低。
-
情况 B:通用型/突发型实例(如 t5, t6, s6 等)
- 这类实例主打性价比,云厂商会对 CPU 进行“超卖”。
- 比如一台物理机有 32 个物理线程,但云厂商卖了 64 甚至 128 个 vCPU 出去。
- 此时: 你的 1 vCPU 只是共享了某个物理线程的一部分时间片。当邻居们都在跑满时,你的 vCPU 会被“饿死”,导致负载显示很高,但实际执行效率极低。
3. 如何判断你买到的是哪种?
别猜,看文档!云厂商在实例规格说明里通常会写清楚:
- 无超分/低超分:标注为“1 vCPU = 1 物理核”或“1 vCPU = 1 物理线程”。这种适合数据库、实时渲染、高频交易。
- 高超分:标注为“突发性能实例”或明确写出超分比(如 1:4, 1:8)。这种适合开发测试、Web 前端、低频访问的服务。
4. 实战建议:怎么避坑?
-
不要只看核心数,要看主频和架构
- 同样是 4 核,Intel Xeon Platinum 和 AMD EPYC 的性能差异巨大。
- 同样 4 核,主频 2.5GHz 和 3.0GHz 的单核性能差距明显。对于大多数应用(尤其是 Java 单线程瓶颈),单核性能 > 核心数量。
-
警惕“逻辑核”陷阱
- Linux 下用
lscpu查看时,你会看到Core(s) per socket,Thread(s) per core,CPU(s)。 - 云服务器显示的
CPU(s)就是 vCPU 总数。 - 如果你发现
CPU(s)远大于物理机的物理线程数,那就是典型的超分实例。
- Linux 下用
-
压测验证
- 最靠谱的方法:上
sysbench或stress-ng做 CPU 压力测试。 - 观察
top中的%wa(IO wait)和%st(steal time,即被宿主机偷走的时间)。 - 如果
%st很高,说明你在和其他租户抢 CPU,这就是“逻辑核”被超卖的典型症状。
- 最靠谱的方法:上
总结
云服务器里的“核心”是 vCPU(逻辑核)。
- 如果你买的是高端实例,它接近于物理线程,性能可预测。
- 如果你买的是入门/突发实例,它是被超分的逻辑核,性能不稳定,高峰期可能卡顿。
选型原则: 生产环境关键业务选“无超分”或“低超分”的计算型实例;非核心业务、开发测试选高性价比的通用型或突发型实例。别被“8 核 16G”这种数字迷惑,要看清背后的超分策略。
云计算HECS