Nova Compute - 大约 cpu_allocation_ratio

Nova Compute - about cpu_allocation_ratio

物理服务器上的计算节点 运行,具有 40 个 CPU。虽然 cpu_allocation_ratio 设置为 4.0,scheduler_default_filters 设置为 "RetryFilter,AvailabilityZoneFilter,RamFilter,ComputeFilter,ImagePropertiesFilter,JsonFilter,CoreFilter",但当我们通过 nova hypervisor stat 检查 vPCus 计数时,它只列出了 40 个 vcpus。

不应该是160vcpus吗?

调度程序逻辑中内置了超额订阅量,用于计算有多少资源可用,但是此数据不会进入 Horizon/other 区域。如果你有 20 个带超线程的物理 CPU,你最终会得到 40 个 VCPU,这是 Nova 知道的。当您将分配比率设置为 4.0 时,您仍然有 40 个 vCPU,但您允许 nova 超额使用它们 4 倍。

查看基于 oversub 的可用 vCPU 总数会很有帮助,但该数字并不准确。相反,我们最终得到一个负的资源使用量,它显示了有多少 vCPU 已被使用超过总量,在本例中为 40。当我们达到 41 时,我们已经使用了所有 40 + 1,这为我们提供了 -1 个可用 vCPU。