回答:
明確にするために、デュアルコアCPUがあり、VMに4つの仮想CPUが割り当てられていると言っていますか?
この場合、いいえ。物理実行コアよりも多くのvCPUを割り当てると、4つの仮想コア(および物理ホストで実行されているすべて)で2つの物理コアを共有するオーバーヘッドにより、実際にパフォーマンスがわずかに低下します。
2つのvCPUを割り当てることにより、VMから最高のパフォーマンスが得られます。
ハイパースレッディングを使用したクアッドコアCPUで物理コアと論理コア(スレッド)からvCPUを割り当てる(1つの前の私の質問を参照)少し前に実験しました(8つの割り当て可能なvCPUが利用できるようです)。そのとき私が得た答えが示唆したように-そして私たちの経験は退屈しました-実行できるようにするには、各ゲストにできる限り少ない数のコアを割り当てる必要があります。
ホストで使用可能な物理コアよりも多くのvCPUを割り当てる場合、ゲストが同時に負荷を受けると、スレッド間でCPUコンテキストを切り替える際にハイパースレッディングが必ずしも十分に速くなく、別のCPUを効果的にシミュレートしませんでした。これは、すべてのゲストにとって非常に厄介なものにつながる可能性があります。これには、再起動、fsck、およびスタック上での悪化を必要とするロックアップやタイムアウトが含まれます。このようなことが起こらなくても、ゲストのパフォーマンスは速くなるよりも遅くなることがよくあります。
@Chris Sが当時のコメントに書いたように、「逃げることができる限り少ない量を常に割り当てれば、大きな頭痛を避けることができます」。