我在这里发布此内容,因为我发现有关该主题的内容要么过时,要么不完整,或者由于各种原因不适合。
我一直想学习如何将特定的 vCPU 映射到特定的 VM(需要尽可能高的 CPU 性能和尽可能少的 CPU 阻塞/上下文切换),而在同一节点中,其他 VM 无法访问固定核心(它们只需要可供特定 VM 访问),并且其 CPU 分配由调度程序“默认”完成。
我当前选择的系统是 Proxmox(仅使用 KVM),通常是 pvetest 分支中的最新版本和最新的 3.X 内核。
对于我的具体需求,与其学习如何在当前系统中做到这一点,我更愿意考虑切换到其他系统,甚至是允许对虚拟机的 CPU 分配进行高级管理的虚拟机管理程序。我的付费解决方案预算几乎为零,并不是从一开始就排除所有解决方案,但它们应该非常便宜。
提前致谢,并希望这个问题的(许多可能的)答案对其他人有用。
此功能对于虚拟化主机的用户/管理员很有用(无论出于什么原因,就我而言是因为我使用不同的操作系统),其中大多数虚拟机需要较低的 CPU 时间,但有一个(或一些)需要确保较高的 CPU 时间。
答案1
看来 proxmox 已经有一些类似的选项。
https://forum.proxmox.com/threads/numa-config-option.21313/
是的,它将利用 CPU 固定(亲和性)。据我所知,启用 NUMA 将改变调度算法,使其现在可以识别底层物理 CPU 上的 NUMA 节点。因此,将尽可能尝试将 vCPU 调度保持在同一个 NUMA 节点内。