ハイパースレッディングと仮想マシン?


15

私はすでにこのスレッドを見ました:Hyper-VおよびHyper-threading:オンまたはオフ?、しかし、唯一の答えはWindows固有です...

私はVMサーバーを構築しており(Proxmox VEを使用して違いがあれば)、ハイパースレッディングが仮想マシンにどのように影響するか疑問に思っていました...

具体的には、仮想マシンの数を最大にした場合、ハイパースレッディングが役立つか、パフォーマンスが低下しますか?

また、最大の仮想マシンは、〜30クライアント(4コア/ 8 GBのRAM)を備えたターミナルサーバーと、それが役立つ場合はファイルサーバーになります。

更新:サーバーは、1TB RAID 10、32 GBのRAM、デュアルIntel Xeon E5530を搭載したDell R410です(正確なモデルについてはわかりませんが、2 + GhzのE55xxでした)

更新:ほとんどのVMはKVM上にあります。


使用する予定のサーバーの仕様を入力してください。
ewwhite

また好奇心が強い。Promox VE対ESXiを選ぶ理由
ewwhite

おそらく無料ライセンスで16GBのRAMのESXI制限のため
Tacticus

3
Proxmoxには、Web GUIからの完全な管理、クラスタリングなどの追加機能がいくつかあり、サーバーの仕様はライセンスによって人為的に制限されていないため、ProxmoxをESXiよりも選択します。さらに、2.0にはAD認証が含まれますが、これは非常に便利です
。ESXi

1
oVirtを見ましたか?
-dyasny

回答:


12

一般的に、VMホストサーバー(VMWare ESXi、KVM、HyperVなど)のHyperThreadingはオンのままにします。これは、Intel Nehalem以降のCPU(5500シリーズ以上)に適用されます。複数のVMのスケジュールに使用できる追加のスレッド。

ゲストシステムのサイズを再評価することもできます。通常、仮想マシンでのCPU割り当てを少しずつ開始するのが最善です。ターミナルサーバーについて話しているので、実際には4つのvCPUではなく2つの仮想CPUに移動します。ハイパーバイザーは、コア数が少ないVMのCPU時間をスケジュールするのが簡単です。ただし、RAMは依然として重要なので、十分な空き容量を確保してください。

参照:http : //omtconcepts.com/wp/?p=14


2つのスレッドは4つよりも正確に高速ですか?
ソビエロ

3
速くない...スケジュールが簡単。編集をご覧ください。言及したマシンには合計8つのコアがあります(16、ハイパースレッディングを使用)。リソースを見つけて4-vCPUゲストをスケジュールしようとすることは、2-vCPUよりも困難です。より多くの競合が発生します(したがって、パフォーマンスが低下します)。このサーバーで他の仮想ゲストを実行する予定がある場合は、1つと2つのvCPUゲストを使用するのが理にかなっています。
ewwhite

3
スケジューリングに関するあなたのポイントは、「ギャングスケジューリング」を行うハイパーバイザーにのみ適用され、「すべて」または「なし」の仮想プロセッサを同時に実行しようとします。これを行うハイパーバイザーの場合、仮想プロセッサを追加すると、VMのスケジュールが難しくなります。ほとんどの場合、Kevinが質問を更新して、KVMを使用することを規定していることを理解しています。しかし、Hyper-Vはギャングスケジューリングを行わないことを指摘したいと思います。ギャングスケジューリングの必要性を回避するために、ゲストOSの準仮想化に依存しています。
ジェイクオーシンズ

Hyper-Vについては知りませんでしたが、これは他の主要なハイパーバイザーにも当てはまります。
ewwhite

1
KVMはスケジュールをギャングしません。実際、これを行うのはVMWareだけであり、v5でギャングスケジューリングの狂気を緩和するためのメカニズムをいくつか追加しました
-dyasny

4

それは本当に依存しています。あなたが言っているように、CPUを全体的に割り当てることを意味すると思う「max out」になります(使用可能な数よりも多くの仮想CPUコアを割り当てるか、使用可能な数だけ正確に)オン。

全体を割り当てない場合は、通常、特定の負荷でテストすることをお勧めします-HTは実際にパフォーマンスを低下させることがあります。


使用可能なコア/スレッドと同じ数だけ正確に割り当てる予定ですが、過剰に割り当てる予定はありません。
ソビエロ

ホストOSにはCPU時間はまったく必要ないと思いますか?また、HTをオンにしたスレッドと同じ数のvコアを割り当てると、実際には少なくとも70〜80%のオーバーオールが割り当てられます。HTがパフォーマンスを向上させても、通常は20〜30%スレッド数から推測できるように、100%。
dyasny

わかりましたので、割り当てられた「コア」(16の75%)は12個までですか?
ソビエロ

1
私は十分に明確ではなかったと思います。全体を割り当てることができ、VMの負荷によっては、CPUがボトルネックにならない場合があります。また、VMのCPUが多いほどスケジュールが難しくなるため、VMに絶対に必要なCPUを割り当てないでください。多くのv-cpusが実際にパフォーマンスを妨げる可能性があります。ハイパースレッディングによる20%のパフォーマンスの向上については、これは絶対的なものではなく、VMの負荷に応じて、数値をわずかに高く、低く、ゼロ、さらにはマイナスにすることができます。
dyasny

ああ、わかった。ありがとうございました。
ソビエロ

3

あり、多くの VMのパフォーマンスに影響を与える変数が。HTは他の変数の1つにすぎませんが、VMの構成方法にも依存します。

HTに影響する変数の1つは、使用されているハイパーバイザーのタイプによって異なります。

VZ、VServerなどの軽量仮想マシンを使用している場合、これらのVMは実際には緊密に分離されておらず、マルチスレッドソフトウェアの実行に似ているため、HTが適切なメリットをもたらすことは明らかです。

KVM、Xen HVMなどのヘビーウェイト仮想マシンを使用している場合、VMに2つのCPUが割り当てられているが、異なるコアでそれぞれ1つのHTを使用する場合など、HTが物事に干渉する可能性があります。

したがって、最善の方法は、セットアップをテストして自分に合ったものを確認することです。

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