私は(SFで見るのにうんざりしているかもしれないので)ESXiを実行しているDell 2950、デュアル4コア3Ghzプロセッサを持っています。 vSphere管理コンソールで、サーバーがハイパースレッディングが有効になっていない(「非アクティブ」)と言っていることに気付きました。
どうやらそれはBIOSでデフォルトでオフになっています。
すべてのVMをシャットダウンし、再起動してその設定を編集できることはわかっていますが、どうすればよいですか?このタイプのセットアップでハイパースレッディングを有効にすることには本当の利点がありますか、それともパフォーマンスの向上はわずかですか?
私はこのトピックについてほんの数回読んだだけです。 www.vmguy.comで記事を見つけました ここ このHTの問題に関するコンセンサスを要約しています(記事から直接):
ESXでHTを使用することには賛否両論があります。
長所
SMP VMのより良い共同スケジューリング
ハイパースレッディングはより多くのCPUコンテキストを提供するため、SMP VMは、ハイパースレッディングなしでは十分なCPUコンテキストがないシナリオで実行するようにスケジュールできます。
- 典型的なアプリケーションでは、0〜20%の範囲でパフォーマンスが向上します(非仮想化ワークロードと同じ)。
短所
- ハイパースレッディングを有効にしてプロセッサリソースを共有
L2キャッシュやL3キャッシュなどのプロセッサリソースは共有されます。これは、同じプロセッサで実行されている2つのスレッドが両方とも高い需要がある場合、同じリソースを求めて競合することを意味します。これにより、パフォーマンスが低下する可能性があります。
すべてを考慮すると、ハイパースレッディングのパフォーマンスへの影響を一般化することは困難です。これは、VMのワークロードに大きく依存します。さらに1つのポイントは、VMごとまたはリソースプールごとにCPUの最小値と最大値を常に利用して、特定の量のCPUを最も重要なワークロード用に予約できることです。大部分のパフォーマンスアイテムと同様に、私は指名、テスト、テスト、テストします。ワークロードを試して、使用可能なハードウェアで何が最適に機能するかを確認してください。
繰り返しますが、これは記事から直接です。私もAMDOpteronsを使用しているため、経験から話すことができないため、HTが価値があるかどうかはわかりません。
CPUにハイパースレッディングが搭載されていることを確認しますか?ほとんどのクアッドコアCPUはそうではないと思います。私のESXサーバーは、ハイパースレッディングが「非アクティブ」であり、HTを使用したことのないAMD CPUを使用していることも報告しています。
ハイパースレッディングをサポートするIntelCPUは、Netburst(Pre Core\Core Duo)アーキテクチャと最新のNehalemベースのCPU(つまり、現時点ではサーバーの場合はXeon 5500のみ)のみです。 2950の範囲はXeon 5500をサポートしていませんが、以前の5000、5100、5200、5300および5400の範囲をサポートしています(サポートされる正確なCPUは、さまざまな2950モデル間で少し異なります)。それらの中で最も古い5000シリーズ(Dempsey)は、Netburstアーキテクチャに基づいていたためハイパースレッディングをサポートしています。
Quad Core Xeon 5xxxはすべてCoreまたはNehalemアーキテクチャに基づいているため、CPUはハイパースレッディングをサポートしていません。