对于虚拟机,当主机上提供 SMP 时,客户机也应该设置 SMP 吗?

对于虚拟机,当主机上提供 SMP 时,客户机也应该设置 SMP 吗?

我正在尝试寻找有关虚拟机和 SMP 的最佳“性价比”方案。

我有一台 Intel Core 2 Duo,它当然有两个核心和 VT 扩展,并且我在其上运行 Ubuntu Linux(主机)和 VirtualBox,其中装有 Windows Vista(客户机)。

目前,我已经为客户机设置了两个处理器,以便 Windows 有机会管理自己的并行性,但我不确定它是否会更快。我尝试过只使用一个处理器,但很难说它是否会更好。

有什么想法吗?客人应该设置两个处理器吗?

答案1

这确实取决于您的需求,但就您的情况而言,我认为最好让客户机启用 SMP。我之所以这么做,是因为当您在 VM 中时,您可能正在尝试完成某些特定任务,而您并不关心主机性能或可能正在运行的其他 VM。

不过,在典型的桌面计算中,您所做的很可能不会真正体现出多 CPU 设置带来的明显好处。而在虚拟机中,性能的最大瓶颈可能是 I/O。实际上,这是对硬件的所有并发需求(CPU、RAM、I/O 等)的平衡行为。

答案2

根据 WIKI虚拟盒

“自 3.0 版起支持 SMP(最多 32 个虚拟 CPU)”

所以我的猜测是,你用虚拟进程模拟 SMP,这就是你可能看不到任何实际收益的原因。我现在的意见是,你只需坚持使用一个。

答案3

客户操作系统上的应用程序是否能够使用多个 CPU 核心?据我所知,最近的应用程序中还没有太多的并行性。

答案4

如果您只有两个核心,您可能不应该设置使用两个核心的虚拟机。将虚拟机限制为一个核心可能会为您带来最佳性能。

相关内容