web-dev-qa-db-ja.com

VMware CPUハイパースレッディングスケジューリングアフィニティ

私はすべてのウェアを調べて、これに関する一連のドキュメントを読みましたが、直接的な答えが見つからなかったので、次のようにします。

VCenterの[リソース]タブには、ハイパースレッディングコア共有を構成できる設定があります。これを「すべて」に設定しました。

私の質問は、スケジューリングアフィニティです。特定のコアを割り当てる場所にテキストフィールドを空白のままにするとどうなりますか?

VMWareはすべての論理コアにわたるハイパースレッディングを処理しますか、それともハイパースレッディングを無効にしますか?

注:スケジュールアフィニティグループボックスには、

ハイパースレッディングステータス:アクティブ
使用可能なCPU:##(論理CPU)

6
Mike Myers

ここではUIがわかりにくいかもしれませんが、ハイパースレッドのコア共有とスケジューリングアフィニティは別のアイテムです。

  • ハイパースレッディング共有は、HTオプションをより細かく制御します。
  • Scheduling Affinityダイアログハイパースレッディングステータス(ハードウェアBIOSレベルで制御されます)を表示し、tasksetスタイルのCPUを指定できますアフィニティマスク。

enter image description here

ハイパースレッディング共有

オプションは次のとおりです。

任意–(デフォルト)この仮想マシンの仮想CPUは、このまたは他の仮想マシンの他の仮想CPUと自由にコアを共有できます。

なし–この仮想マシンの仮想CPUは、スケジュールされている場合は常にプロセッサコアを排他的に使用します。この仮想マシンがコアを使用している間、コアの他のハイパースレッドは「停止」します。

内部– 2つの仮想プロセッサを備えた仮想マシンでは、2つの仮想プロセッサが1つの物理コアを共有できます(ESXiスケジューラの裁量による)が、この仮想マシンは他の仮想マシンとコアを共有しません。この仮想マシンに2つ以外のプロセッサ数がある場合、この設定は[なし]設定と同じです。


どちらの場合も、パフォーマンスの問題や競合の増加のリスクがあるため、99%のユースケースでこれらの設定を変更することはお勧めしません。 Scheduling Affinityボックスは空白にする必要があります。

対処しようとしている特定の影響または状況はありますか?


Adobe ColdFusionライセンス の言語を確認しました。ユースケースでは、「CPU」は物理ソケット(マルチコアの場合があります)を意味します。ライセンスは2 CPU単位で販売されます。したがって、デュアルソケットESXiホストごとに1つのライセンスが必要です。

4
ewwhite

ハイパースレッドシステム上のすべての仮想マシンのデフォルトはANYです。この設定の仮想マシンの仮想CPUは、いつでも、この仮想マシンまたは他の仮想マシンの他の仮想CPUとコアを自由に共有できます。この設定を変更すると、パフォーマンスの問題が発生する可能性があり、そのメリットを実際に使用することはありません。また、ハイパースレッディングはプロセッサのタイプに依存し、システムBIOSで有効になります。

1
Amir

ハイパースレッディングのアクティブ化はホストレベルで設定されますが、特定のVMがHTを使用するかどうかの決定は、VMレベルで設定されます。

したがって、Hyper-threading Core SharingANYに設定されている場合、Scheduling Affinityボックスを空白のままにしても効果はありません。

0
GregL