是否可以动态地将处理器和ram分配给Windows(虚拟盒)上的虚拟机?

时间:2016-07-27 19:43:42

标签: virtual-machine virtualbox virtualization

是否可以动态地将处理器和ram分配给Ubuntu虚拟机?例如。进程在主机系统上运行,导致处理器在使用中上下移动,比如大约30%-70%,并且这些进程也占用8GB内3GB-7GB之间的波动量,即离开在高峰使用时1公斤的ram。我想要发生的是,虚拟机将巧妙地使用所有剩余的免费CPU时间和ram可用但不会减慢主机系统的速度。如果系统需要更多ram,则会给予更多ram并将其从vm中取出,并且当主机系统需要更多cpu时间时,这也将从vm中取出。这允许主机系统始终如此平稳地运行。如果可以设置可以分配给vm的最小ram和cpu时间以防止vm崩溃也是好的。

这就是我的尝试:

我目前正在使用虚拟框

我已将vm设置为使用与物理内核一样多的虚拟cpu。我已将执行上限设置为100%然后我将要分配给vm的ram数量设置为最大可能。然后我尝试将vm进程的优先级设置为低于正常值,但由于某种原因我得到了权限被拒绝,使得这种方法无法实现。当我对它进行ram压力测试时,vm也会崩溃,因为它对它可以使用多少ram感到困惑(我猜测)这个尝试也错过了最小ram和处理器时间目标。

因此,我的尝试未能达到我的任何目标。有没有办法实现我的目标?我不介意我是否必须使用不同的软件而不是虚拟盒子。我也不介意我可以运行的任何类型的启动脚本,它将适当地启动vm。

谢谢,

1 个答案:

答案 0 :(得分:3)

afaik,virtualbox没有这种功能。 Hyper-V可以动态地向/从vm(“动态内存”功能)提供/恢复内存。 VMware工作站可以保留一些可配置的内存大小,并在vms之间动态分割(例如 - vmware可以从总共16个中保留8个演出,我们有2个vms,配置为使用7个演出内存,如果是第一个vm将只需要一个演出,secon可以从总共8个预留中获取其他7个演出。)但是vmware无法将内存返回给主机。不幸的是,不能说CPU。