是否有任何理由不使用Hyper-V虚拟机上的最大数量的虚拟处理器

在多核服务器上运行的Windows 2008 R2 Hyper-V中。 当我创build一个新的VM时,它默认为1个逻辑处理器,而不是最大值(4)。 有什么情况下,我想让我的虚拟机运行在比Maximun允许的更less的处理器上? 对我来说,我希望它能够尽可能快地执行,并在所有可能的处理器上运行。

我一直在与VM的工作多年,所以这是我的2美分。 每个人都虚拟化的原因…如果你这样做,因为这是最新的stream行词,一个杂志说这样做,忘了它,回到使用实物。 现在,如果您正在虚拟化冗余,那么请不要用完所有的cpus。 在故障转移中,您将需要额外的CPU功率。 如果你虚拟化,因为你有很多的小型服务器,并希望最大限度地使用物理服务器,然后使用80%的cpus …并在一两个星期看看configuration文件…如果你可以得到把2个服务器上的4个CPU放在一起,因为他们在不同的时间工作。 现在的问题可能是,如果主机系统开始使用CPU,并且客人开始使用它,您将看到客人症状的情况只有70%的CPU利用率,但是像100%一样受到约束。 这不好。 我希望通过4个CPU你的意思是4个四核的CPU。 很难从中看到任何好处。

在PHGamer的答案中提到,在虚拟机pipe理程序层和客户操作系统中使用额外的虚拟处理器是有成本的。 随着您向虚拟机添加更多虚拟处理器,这些虚拟处理器将全部尝试在客户机操作系统中取出和释放锁,相互减慢。 系统pipe理程序中的调度程序也将有更多的工作要做,甚至在某些程度上,这些额外的虚拟处理器不忙时。

所以如果你想让虚拟机的容量变得非常dynamic的话,可以添加大量的虚拟处理器,了解成本。

但是,如果希望机器运行得最有效,请不要添加比工作负载通常所需的更多的虚拟处理器。

多元信息技术的答案也有一定的相关性,尽pipe这个问题可以通过在其他虚拟机获得的处理器时间量上进行部分解决,使得虚拟机独占CPU的时间更加困难。

那么如果你有大量的虚拟机在同一时间运行。 有一个虚拟机猪所有的CPU将是非常糟糕的不是?

有了CPUselect,你可以有4个虚拟机,每个虚拟机有专门的访问一个CPU,没有任何上下文切换发生。

如果负载只有单线程,那么不必要的将处理器周期的调度负载放在主机上,无论如何是浪费的。 虚拟化服务器是优化资源分配的一个练习。 如果你只是把资源放在不需要的地方,那么把它们整合到一个盒子里有什么意义呢?

哇…你从来没有看到Windows,防病毒软件或服务器上的一个应用程序的更新是坏的,并最终失去CPU使用率。 你真的想要一个错误的更新来打倒你的其他服务器? 而且,虽然您的环境可能具有可预测的CPU使用率,但其他环境可能会有很大的不同。 与CrazyDart类似,虚拟化的原因可能因环境而异。 您可能会这样做,以节省电力,您可以做到这一点,更容易服务器迁移/恢复。 您可以在集群中实现高可用性。 你可能会做另一个原因。 你的理由可能会影响处理CPU分配的方式。

您还应该注意,SP1中会有一些重要的增强function。