![如何将专用 vCPU 分配给 Proxmox(KVM)上的特定 VM 或者什么系统可以做到这一点?](https://linux22.com/image/658703/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%93%E7%94%A8%20vCPU%20%E5%88%86%E9%85%8D%E7%BB%99%20Proxmox%EF%BC%88KVM%EF%BC%89%E4%B8%8A%E7%9A%84%E7%89%B9%E5%AE%9A%20VM%20%E6%88%96%E8%80%85%E4%BB%80%E4%B9%88%E7%B3%BB%E7%BB%9F%E5%8F%AF%E4%BB%A5%E5%81%9A%E5%88%B0%E8%BF%99%E4%B8%80%E7%82%B9%EF%BC%9F.png)
我在这里发布此内容,因为我发现有关该主题的内容要么过时,要么不完整,或者由于各种原因不适合。
我一直想学习如何将特定的 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 节点内。