メモリを大量に使用するアプリケーションがある場合、または仮想マシンの台数が少ない場合、仮想マシンの CPU とメモリの配置を明示的に指定することによってパフォーマンスを最適化できます。

コントロールを指定することは、仮想マシンがメモリ集約型のワークロード (メモリ内データベース、または大きいデータ セットを持つ科学計算アプリケーションなど) を実行する場合に役に立ちます。システムのワークロードが単純で変化しないことがわかっている場合も、NUMA の配置を手動で最適化できます。たとえば、同様のワークロードを持つ 8 台の仮想マシンを実行する 8 プロセッサ システムは、明示的に簡単に最適化できます。

注:

ほとんどの状況において、ESXi ホストの自動 NUMA 最適化で良好なパフォーマンスが得られます。

ESXi には NUMA 配置用のコントロールが 3 セット備わっているため、管理者が仮想マシンのメモリとプロセッサの配置を操作できます。

vSphere Web Client では、次のオプションを指定できます。

NUMA ノードのアフィ二ティ

このオプションを設定した場合、アフィニティに指定したノード上でのみ、NUMA は仮想マシンをスケジュール設定できます。

CPU アフィニティ

このオプションを設定した場合、仮想マシンは、アフィニティに指定したプロセッサのみを使用します。

メモリ アフィニティ

このオプションを設定した場合、サーバは指定したノード上でのみメモリを割り当てます。

NUMA ノード アフィニティを指定した場合にも、仮想マシンは NUMA で管理されますが、そのマシンの仮想 CPU は、NUMA ノード アフィニティに指定したノード上でのみスケジュール設定できます。同様に、NUMA ノード アフィニティに指定したノードからのみ、メモリを取得できます。CPU またはメモリのアフィニティを指定した場合、仮想マシンは、NUMA で管理されなくなります。これらの仮想マシンの NUMA 管理は、CPU およびメモリのアフィニティの制約を削除した場合は有効です。

手動での NUMA 配置は、プロセッサ リソースをシステム全体で均等に配布する ESXi のリソース管理アルゴリズムに干渉する可能性があります。たとえば、プロセッサ集約型のワークロードを持つ 10 台の仮想マシンを 1 つのノードに手動で配置し、2 台の仮想マシンだけを手動で別のノードに配置した場合、システムは、12 台の仮想マシンすべてに均等にシステム リソースのシェアを与えることはできません。