Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.3. 过量使用虚拟化 CPU

KVM 管理程序支持过量使用虚拟化 CPU(vCPU)。虚拟化 CPU 尽可能超量,因为客户机虚拟机的负载限制允许。在提交 vCPU 时要小心,因为负载接近 100% 可能会导致请求丢失或者无法响应。
在 Red Hat Enterprise Linux 7 中,可以过量使用带有多个 vCPU 的客户机,称为对称多处理(SMP)虚拟机。但是,当您在虚拟机上运行比物理 CPU 更多的内核时,您可能会遇到性能下降。
例如,具有四个 vCPU 的虚拟机不应在具有双核心处理器的主机上运行,而是在四核主机上运行。由于程序比所需 CPU 时间更少,超过物理处理内核数量的 SMP 虚拟机会导致性能下降。另外,不建议为每个物理处理器内核分配 10 个以上 vCPU。
对于 SMP 客户机,一些处理开销固有。CPU 过量使用可能会增加 SMP 开销,因为使用时间分片将资源分配给客户端,因此客户机内的间 CPU 通信会较慢。随着具有更多 vCPU 数量或更大过量使用比例的客户机,这种开销会增加。
当单个主机有多个虚拟机时,与主机 CPU 数量相比,虚拟化 CPU 的最佳限制是较少的 vCPU。KVM 应以 5 个 vCPU(在 5 台虚拟机)与一个主机上一个物理 CPU 的比例安全支持 100% 下的客户机。KVM 管理程序将在所有虚拟机之间进行切换,确保负载是平衡的。
为了获得最佳性能,红帽建议根据运行每个客户机中的程序而需要的 vCPU 数量只分配客户机。
重要
使用 100% 内存或处理资源的应用程序可能会在过量使用的环境中不稳定。不要在生产环境中过量使用内存或 CPU,且没有广泛的测试,因为 CPU 过量使用比例和 SMP 的数量取决于工作负载。