我应该为我的客户操作系统分配多少个虚拟处理器或核心?

我应该为我的客户操作系统分配多少个虚拟处理器或核心?

我刚刚收到一台升级的主机,并希望将其中一些改进应用到我的工作站客户操作系统上。具体来说,我以前有一个带有 2 个内核的单处理器,所以我的客户操作系统只有 1/1。

现在,我有一个 8 核的单处理器,所以我很好奇现在对我的客户操作系统有什么推荐?

  • 1 个处理器/4 个核心?
  • 2 个处理器/2 个核心?
  • 4 个处理器/1 个核心?

我的直觉告诉我要坚持使用物理处理器的数量(或更少),但这是基于现实的吗?我花了很长时间寻找答案,但也许我的谷歌因果报应今天并不对我有利。

答案1

在我自己的测试中,使用 VMWare Workstation,使用最新的 GeekBench 3,64 位测试,在具有 1 个 CPU、2 个内核(启用 HT,因此有 4 个内核)的主机上:

主机系统:

  • 单核得分 2866,多核得分 5939

虚拟化:

  • 1 个 CPU,1 个核心:2783 sc,2705 mc
  • 1 个 CPU,2 个核心:2758 sc,4271 mc
  • 1 个 CPU,3 核:2783 sc,5234 mc
  • 1 个 CPU,4 核:2769 sc,5793 mc

因此,至少在我的测试中,将虚拟核心数设置为与物理核心数相匹配似乎是有好处的。也许我错了。我很乐意讨论。

答案2

我不知道这些信息是否仍然有效,但在不久前,额外的客户机 CPU 的扩展性远不如主机 CPU。事实上,最好的建议是在您的客户机配置中保留单个 CPU,除非您专门在客户机中测试/调试多线程软件,并且必需的SMP 环境。

编辑:这个答案特定于桌面虚拟化,而不是服务器虚拟化。

答案3

我最多为客户操作系统提供 2 个核心。1 个处理器 2 个核心或 2 个处理器各 1 个核心都没关系。处理器设置是出于兼容性原因。由于核心/处理器进程调度,处理器/核心对于客户操作系统的扩展性不是很好。2 个核心似乎是最佳选择。

答案4

我很震惊这些常见问题到现在还没有得到完全解答。您的主机 CPU 应该支持一些虚拟化技术,例如 Intel VTx。这允许您将 CPU 的全部功能“传输”到您的客户操作系统中。否则,由于 CPU 的模拟,速度会大幅下降。如果您的 CPU 具有超线程功能,您应该在主机的设备管理器中看到四核 CPU 的 8 个处理器(超线程使核心数量翻倍)。在这种情况下,您可以为客户操作系统分配 1 个具有 4 个核心的处理器。只要您的系统中没有任何其他物理处理器,就不要为虚拟机分配超过 1 个处理器。您可以根据需要为客户操作系统分配更多或更少的核心,但您不应分配高于超线程核心的值。但请注意,您的主机也需要一些 CPU 能力。我通常将超线程核心数和内存数设置为一半,例如,当您拥有 16 GB 的 RAM 时,设置为 8192 MB。这通常是一个不错的设置,但如果您想同时运行多个虚拟机,则不适用。

相关内容