技术博客

虚拟化 CPU 超分怎么设?别让宿主机长期满负载

CPU 超分可以提升资源利用率,但过度超分会导致虚拟机调度等待、延迟升高和性能抖动。

CPU超分虚拟化性能容量规划KVM

虚拟化平台允许把虚拟 CPU 数量配置得超过物理 CPU 核心数,这叫 CPU 超分。适度超分可以提高资源利用率,因为不是所有虚拟机都会同时满载。

但超分不是越高越好。过度超分会让虚拟机等待物理 CPU 调度,表现为应用延迟升高、系统负载高、但单台虚拟机看起来 CPU 不一定满。

设置超分比要看业务类型:

监控不能只看平均 CPU。要看宿主机 steal/wait、load、调度延迟、虚拟机响应时间和业务峰值。

建议建立资源分层:

CPU 超分是提高利用率的工具,不是凭空增加算力。运维人员要在成本和稳定性之间找平衡。

如何判断超分是否过度

不要只看宿主机 CPU 使用率。CPU 使用率不高,也可能存在调度等待。更应该结合虚拟机延迟、宿主机负载和业务响应时间判断。

Linux 宿主机可以看:

uptime
mpstat -P ALL 1
pidstat -u 1

虚拟机内部可以看:

top
vmstat 1

如果虚拟机里 CPU steal 明显升高,说明虚拟机想运行但拿不到物理 CPU 时间。

建议的超分策略

FAQ

vCPU 分配越多越好吗?
不是。vCPU 太多可能让调度更困难,尤其是老平台或特定 NUMA 场景。

CPU 超分比例有没有统一标准?
没有。必须按业务负载、峰值时间和性能目标决定。