1 CPU /コア以上のVMをセットアップすると、実際にパフォーマンスが向上しますか?


11

VMwareワークステーションを使用すると、複数のコアでVMを設定できます。デュアルコアと4つの論理コアを備えたマシンで実際に使用しています。それでは、VMでより多くのコアを使用することで、VMSのパフォーマンスを本当に改善できるでしょうか?


3
仮想ゲストのサイズを決定する際に覚えておくべきことは1つあります。実際のマシンへのインストールにメリットがあれば、仮想マシンとしてもメリットがあり、その逆も同様です。そして何よりも重要なのは、何かを仮想化したからといって、システムやアプリケーションの要件に魔法のようなことは起こらないということです
ロブ・モイア

回答:


8

VMの実行内容に依存します。n個のコアを持つマシン上のゲストは、ゲストが複数のCPUを効率的に使用できる限り、n-1個のコアで最高のパフォーマンスを発揮します。残念ながら、これを判断する最も簡単な方法は、試してみることです。通常は2から開始し、パフォーマンスの向上がなくなると停止します。通常、「スイートスポット」が表示されるのは2コアです。私が出会ったアプリ/ OSの組み合わせはほとんどありませんが、それよりも優れています。


6

明確にするために、デュアルコアCPUがあり、VMに4つの仮想CPUが割り当てられていると言っていますか?

この場合、いいえ。物理実行コアよりも多くのvCPUを割り当てると、4つの仮想コア(および物理ホストで実行されているすべて)で2つの物理コアを共有するオーバーヘッドにより、実際にパフォーマンスがわずかに低下します。

2つのvCPUを割り当てることにより、VMから最高のパフォーマンスが得られます。


必ずしもそうではありません-VM上で実行されているアプリケーションがマルチコアシステムを利用できる場合にのみ、実際にパフォーマンスが向上します。残念ながら、2011年であっても、多くのアプリケーションはそうではありません。
EEAA

@ErikAフェアポイント-アプリケーションのスレッド化はさておき、物理コアが2つしかないため、1つのVMで2つのvCPUを使用する方が4つのvCPUよりも常に優れていると言っています。
シェーンマッデン

ええ、その点については100%同意しました。
EEAA

5

ハイパースレッディングを使用したクアッドコアCPUで物理コアと論理コア(スレッド)からvCPUを割り当てる(1つの前の私の質問を参照)少し前に実験しました(8つの割り当て可能なvCPUが利用できるようです)。そのとき私が得た答えが示唆したように-そして私たちの経験は退屈しました-実行できるようにするには、各ゲストにできる限り少ない数のコアを割り当てる必要があります。

ホストで使用可能な物理コアよりも多くのvCPUを割り当てる場合、ゲストが同時に負荷を受けると、スレッド間でCPUコンテキストを切り替える際にハイパースレッディングが必ずしも十分に速くなく、別のCPUを効果的にシミュレートしませんでした。これは、すべてのゲストにとって非常に厄介なものにつながる可能性があります。これには、再起動、fsck、およびスタック上での悪化を必要とするロックアップやタイムアウトが含まれます。このようなことが起こらなくても、ゲストのパフォーマンスは速くなるよりも遅くなることがよくあります。

@Chris Sが当時のコメントに書いたように、「逃げることができる限り少ない量を常に割り当てれば、大きな頭痛を避けることができます」。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.