Win10下VirtualBox的性能不佳

问题描述 投票:1回答:1

我们有一个构建系统,直到数周前,每个目标设备的完整构建大约需要1.5个小时。

在某些时候,这个时间增加了约3.5个小时,由于我们为大约9个不同的目标进行了构建,因此将构建时间从14个小时增加到了32个小时。

我们认为我们终于确定了问题所在。我在Win10机器(来宾为Ubuntu 16.04)上运行的VM已复制到Win7机器。 VM的设置,运行的磁盘类型等均未更改。机器的配置也非常类似(相同的CPU,磁盘等)。

顺便说一句,我最初运行VirtualBox 5.x,而Win7机器具有6.0.12,但我不认为这是问题,因为我的机器上升级到6.0.14并没有改变。即使将VM磁盘移动到我盒子上的SSD上,也没有什么缓解,这意味着几乎可以肯定它受CPU限制。

运行VM的Win7盒在大约1.5个小时内完成了每个构建。

然后我们对该框所做的

only

更改是对Win10的就地升级,瞧瞧,这些构建现在每个都需要花费3.5个小时。[>[一项研究表明,有几个人在将VirtualBox / Win10作为主机和来宾时遇到问题,但是给出了建议(视频内存增加,主机和来宾之间CPU /内存的重新平衡,启用/禁用视频加速,等)似乎无法解决任何问题。我们正在考虑一些想法,例如:

在裸机上运行Ubuntu,但这显然使移动VM更加困难;

  • Linux主机上运行这些Ubuntu来宾,因此,假设问题是Win10,我们在提高性能的同时仍允许VM移动性;
  • 坚持使用Win10,但使用VMWare Player而不是VirtualBox(目前正在测试,看是否可行);
  • 将构建框恢复为Win7,但我认为IT部门不会对该提案感到满意(即,在批准该提案的过程中,它并不寄予希望:])]
  • 有人对前进的方式有其他想法吗?
  • [我们拥有一个构建系统,直到数周前,整个目标设备的完整构建大约需要1.5个小时。在某个时候,由于我们构建了...

我们一直在进行调查,结果发现罪魁祸首是Windows 10中引入的Spectre2 / Meltdown缓解措施。
[我们从一些网站上发现影响是多种多样的,但对于构​​建服务器场和开发人员箱最为不利(例如,请参见here:]

enter image description here

[当使用Gibson Research InSpectre工具关闭缓解措施时(当然,为了安全起见,对机器进行了气密密封之后,构建再次降低到每个目标一个半小时。

现在,我们只需要弄清楚如何继续进行下去。我们可能必须在已经准备好源代码的气隙式机器上构建。

一些其他细节。我们所有的开发人员机器都为CPUID 306c3 Haswell,这是缓解措施尤其遭受的打击。我们将在更现代的处理器CPUID 810f10(AMD Ryzen 5)上进行测试,以查看影响是否较小。


如果是这样,我们可能会选择购买其中的几个。无论哪种情况,都将使用结果更新此答案。

希望这将是最终更新。尽管我们最初通过在Windows


host,中禁用Spectre / Meltdown缓解措施成功地恢复了速度,但考虑到可能被黑客入侵,这并不是一个切实可行的解决方案。

进一步的调查似乎表明,尽管VirtualBox在这种环境中遭受了损失,但VMware却没有。因此,我们一直在寻找可以解释差异的方法。

最终,我们遇到了this thread,它描述了一个类似的问题,并且在那里尝试一种建议的解决方案时,我们发现我们可以重新获得速度[[而没有损害主机OS。

解决方案是在关闭(不挂起)VM的同时运行以下命令:

vboxmanage modifyvm VM_NAME --spec-ctrl on 其中VM_NAME应替换为您的实际VM名称(通过vboxmanage list vms获得)。然后,在重新启动VM之后,它应该再次以正常速度运行。

[不幸的是,这意味着我为整个开发团队购买新的Threadripper PC的商业案例现在已经崩溃。该死的,互联网:-)

performance windows-10 virtualbox
1个回答
3
投票
© www.soinside.com 2019 - 2024. All rights reserved.