在等待 IT 部门设置新的 Hyper-V 集群时,我正在阅读有关虚拟机的资料。这是一个非常简单的问题。
如果我只有一个虚拟机和一个虚拟 CPU,我能实现的最大性能是多少?(减去微小的开销百分点)这相当于一个物理核心, 或者多个物理核心是否有空闲的核心。
我猜这取决于一个物理核心。但如果其他虚拟机与其进行时间分片,则通常会更少。
http://blogs.technet.com/b/puneetvig/archive/2011/05/21/hyper_2d00_v_2d00_concepts_2d00_vcpu.aspx
在这个令人困惑的问答中,它讨论了将物理 CPU 分时共享到多个 vCPU 上,但我没有看到任何关于性能上限的讨论。
编辑- 我的应用程序将占用虚拟机上与 vCPU 数量相同的线程的 100% CPU,因此我想知道如果我配置了 80% 的资源,我的物理机使用率是否会达到 50%。如果我在 48 核机器上限制为 4 个 vCPU,我会达到 80% 吗?
答案1
您说得对,一个虚拟处理器等于一个核心。Hyper V 不会将线程拆分为多个核心。因此,如果您的物理机器有 2 个四核处理器,则您的 VM 可用的虚拟核心最多为 8 个。它们是虚拟的,因为核心不是您的 VM 独有的。
然而
单核的最大性能仅取决于分配给您的机器的储备。如果分配给您的虚拟机的最大储备为 25%,那么您只能利用主机 25% 的 CPU 周期。
还有第二个设置,称为优先级,它比预留更常用,因为预留并不像大多数人想象的那样工作。优先级是赋予虚拟机的相对权重。如果权重更高的虚拟机需要时间来满足其最低 CPU 周期预留,则虚拟机会受到限制。
答案2
一切都取决于它的配置方式。它可以配置为使用所有处理能力或优先处理其他虚拟机。如果这是服务器上唯一的虚拟机,那么没有理由不允许使用所有 CPU。(减去您所说的小额开销)
答案3
如果您想在多核系统上利用更多 CPU 容量,您可以考虑为虚拟机添加更多核心。这样,您就可以确保使用所有可用核心,即使在超线程多核多 CPU 服务器上也是如此。
如何:http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/