【问题标题】:Is it possible to dynamically allocate processor and ram to a virtual machine on Windows (Virtual Box)?是否可以在 Windows(Virtual Box)上为虚拟机动态分配处理器和内存?
【发布时间】:2016-12-01 23:45:14
【问题描述】:

是否可以为 Ubuntu 虚拟机动态分配处理器和内存?例如。进程在主机系统上运行,导致处理器的使用率上升和下降,比如说大约 30%-70%,这些进程还占用 8GB 中的 3GB-7GB 之间的波动量内存,即在 1G 内存高峰使用。我想要发生的是,虚拟机将巧妙地使用所有剩余的空闲 cpu 时间和可用内存,但不会减慢主机系统的速度。如果系统需要更多的 ram,则会将更多的内存分配给它并从 vm 中取出,并且当主机系统需要更多的 cpu 时间时,这也会从 vm 中取出。这允许主机系统始终如其应有的顺利运行。如果可以设置可以分配给 vm 的最小 ram 和 cpu 时间以防止 vm 崩溃,那也是很好的。

这是我尝试过的:

我目前正在使用虚拟盒子,

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

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

谢谢,

【问题讨论】:

  • 我不知道有任何操作系统会在启动后突然改变 RAM 的数量或 CPU 的数量,因此似乎任何操作系统都无法满足您的要求。
  • @MarkSetchell 好吧,我刚刚发现动态内存分配并不能很好地工作我想我会放弃这个目标,我会把这篇文章留给其他人想知道这个。如果我在不久的将来找到工作,我一定会在这里发布。

标签: virtual-machine virtualbox virtualization


【解决方案1】:

afaik,virtualbox 没有这种功能。 Hyper-V 可以动态地向/从 vm(“动态内存”功能)提供/收回内存。 VMware Workstation 可以保留一些可配置大小的内存,并在 vms 之间动态拆分(例如 - vmware 可以从总共 16 个中保留 8 个 gig,我们有 2 个 vm,配置为使用 7 gigs 内存,如果第一个 vm 只需要一个 gig,secon 可以从总共 8 个保留的 gig 中占用其他 7 gig)。
但是 vmware 不能将内存还给主机。不幸的是,关于 CPU 不能说太多。

【讨论】:

    猜你喜欢
    • 2012-07-04
    • 2020-02-19
    • 2013-12-24
    • 2016-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    相关资源
    最近更新 更多