virtualbox 是否支持热添加内存?

BCo*_*tes 5 memory virtualbox hotswapping

我有一个 Ubuntu VM,由于在具有大量可用内存的主机上分配了很小的来宾内存,因此正在交换交换。似乎来宾内核被编译为支持热添加 RAM,有没有办法让 virtualbox 在不关闭正在运行的 VM 的情况下挂载更多内存?

我不需要零停机时间,我可以进行状态保存,但我不想重新启动来宾上正在进行的多天处理作业。

来宾是 Ubuntu 12.04,主机是 OSX 10.7,都是 x64。

soa*_*dos 3

VirtualBox 不支持以这种方式添加更多内存。然而,在许多情况下,重新启动计算仍然是值得的,因为使用 RAM(而不是硬盘)可以将速度提高一百倍或更多。

重要的一点是,即使您的虚拟机“抖动”,也不意味着 Windows 没有使用 RAM(缓存虚拟机正在使用的磁盘),因此抖动影响很小/没有影响。

为了查明是否是这种情况,只需检查操作速度,看看“抖动开始”时是否有变化(或曾经有变化),或者是否占用了 RAM 量VirtualBox 进程明显多于来宾拥有的 RAM 量。

  • 虽然 vbox 并不严格支持内存热添加,但它确实支持气球:http://www.virtualbox.org/manual/ch04.html#guestadd-balloon。我建议OP重新启动虚拟机——仅此一次——并过量使用比您认为需要的更多的内存。Vbox *应该*对此很聪明,并且仅在客人需要时才使用额外的内存。不要过度使用超出物理 RAM 的资源,但您可以非常接近物理 RAM。最坏的情况是,您的主机开始交换,但只有在主机上存在大量内存压力时才会开始执行交换,这通常是一件好事。 (2认同)