Answers:
为了澄清,您是说您有一个双核CPU,并且在VM上分配了4个虚拟CPU?
在这种情况下,不会;如果分配的vCPU数量超过物理执行内核的数量,则实际上会发现性能略有下降,这是由于在4个虚拟内核之间共享2个物理内核(以及物理主机上运行的所有组件)的开销。
通过为VM分配2个vCPU,您将看到VM的最佳性能。
我们进行了一段时间的实验(请看一年前的问题),在具有超线程功能的四核CPU中从物理核心分配vCPU,而在逻辑核心(线程)分配vCPU(似乎有8个可分配的vCPU可用)。正如我当时提出的答案所建议的那样(而我们的经验也很枯燥),您应该为每个来宾分配尽可能少的内核数,以使其能够执行。
当分配的vCPU数量超过主机上可用的物理内核时,如果来宾同时处于负载状态,则超线程在切换线程之间的CPU上下文以有效模拟另一个CPU方面并不总是足够快。这会给所有来宾带来非常讨厌的事情,包括锁定和超时,这可能需要重新启动,fsck,甚至更糟。即使没有发生这种情况,客人的性能通常也会变慢,而不是更快。
就像@Chris S当时在其评论中所说的那样,“总是分配尽可能少的资源,这样可以避免头疼。”