是什么
虚机的 vCPU 最终是调度到物理核心上执行的时间片,因此超分比、绑定策略与内存访问路径都直接影响性能。超分比是 vCPU 总数与物理线程数之比:比值高能提高密度,但延迟敏感业务会出现抖动。另一条容易忽略的线是 NUMA:大规格虚机的内存被拆到多个节点上,跨节点访问会损失带宽,需要把虚机与宿主节点对齐。
基本信息
| 超分比 | vCPU 总数与物理线程数之比,按业务类型分别设定 |
|---|---|
| 亲和性 | 把 vCPU 绑定到指定物理核,减少跨核调度开销 |
| 节点绑定 | 控制虚机内存只在指定节点分配,避免跨节点访问 |
| 拓扑对齐 | 大规格虚机尽量让虚拟拓扑与宿主节点结构一致 |
| 查看方式 | 在宿主上查看节点拓扑与虚机的绑定情况 |
典型使用场景
- 规划虚机规格:按宿主节点的核心数与内存容量决定单台虚机上限
- 延迟敏感业务:给数据库与实时计算类虚机做绑定,减少调度抖动
- 高密度环境:为测试与开发虚机放宽超分,生产虚机保持低超分
- 性能不达标排查:确认是否因为跨节点访问内存导致带宽不足
- 扩容前评估:计算现有超分比,判断还能加多少虚机而不影响稳态
查看拓扑并设置绑定
查看拓扑并设置绑定
numactl -H # 查看节点数量、各节点内存与距离
virsh vcpupin vm1 # 查看虚机各 vCPU 当前的物理核绑定
virsh vcpupin vm1 0 0-3 # 把 0 号 vCPU 绑定到 0-3 号物理核
# 严格模式:只在指定节点上分配内存,避免跨节点
virsh numatune vm1 --mode strict --nodeset 0
virsh numatune vm1 # 复核绑定结果关键概念
| 概念 | 含义 | 规划要点 |
|---|---|---|
| 超分比 | 虚拟核心总数与物理线程总数之比 | 延迟敏感业务保持在低比值,测试环境可放宽 |
| vCPU 亲和 | 把虚拟核心固定到物理核心 | 减少迁移与缓存失效,但会限制调度灵活性 |
| 节点绑定 | 限制内存只在指定节点分配 | 大内存虚机收益明显,小规格虚机收益有限 |
| 虚拟拓扑 | 虚机看到的插槽与核心结构 | 与宿主结构错位时虚机内部会产生跨节点访问 |
| 内存带宽 | 节点内可用的内存吞吐能力 | 带宽不足时表现为计算单元未被充分利用 |
判断是否受 NUMA 影响,看的是虚机规格与宿主节点的关系:单台虚机核心数超过单个节点的核心数时,必然跨节点,此时要么缩小规格,要么接受带宽损失。
把绑定做成大范围独占,会让宿主失去调度弹性:一旦某台虚机负载下降,被绑定的核心无法给其他虚机使用,整体利用率反而降低。