是否有可能控制VBoxHeadless虚拟机之间的CPU资源共享?

如果我在一台物理服务器上运行3台VirtualBox机器,并最终在其中一台上启动一个艰难的数据处理,是否有办法确保剩下的2台机器不被压制? 我可以保证一些虚拟机的最低资源,并将所有未使用的资源(作为背景优先级)提供给特定的资源吗?

根据你想要怎么做,是的 – 有几种方法。 不幸的是,我不知道一个简单的“ 使用不超过总CPU资源的80%,即使我把它们全部分配到三台机器中的每一台 ”。

这里有三种方法:

假设您有一台四核服务器,只需将一个或两个虚拟处理器分配给每个虚拟机。 这将确保没有VM可以超过主机CPU容量的50%以上。

如果您的主机操作系统支持,您也可以尝试使用像cpulimit这样的程序。 现在的虚拟化不仅仅是一个简单的过程,所以你的里程可能会有所不同,但它似乎运作良好。

一个稍微有趣的场景是使用VirtualBox的CPU热插拔function。 不幸的是,在各种访客操作系统中对它的支持有限。 如果您的环境支持,您可以使用它来dynamic扩展/缩小。

以下是虚拟机设置的屏幕截图,显示可以configuration虚拟CPU数量的位置: