仮想マシンのパフォーマンスを向上させるために、CPU リソースを追加、変更、または構成できます。

CPU ホット アドの有効化

デフォルトでは、仮想マシンがパワーオンになっているときにはその仮想マシンに CPU リソースを追加することはできません。CPU ホット アド オプションでは、動作中の仮想マシンに CPU リソースを追加できます。

次の条件が適用されます。

  • 最善の結果を得るには、ESXi 5.0 以降と互換性のある仮想マシンを使用してください。
  • マルチコア仮想 CPU のホット アドは、ESXi 5.0 以降と互換性のある仮想マシンのみでサポートされます。
  • 仮想マシンに搭載されている仮想 CPU が 128 個以下の場合は、ホット アドを使用して仮想 CPU の数を 128 よりも多くすることはできません。仮想 CPU の数を制限を超えた値に変更するには、まず仮想マシンをパワーオフする必要があります。これに対して、仮想マシンの既存の仮想 CPU が 128 個を超えている場合は、ホット アドを使用して仮想 CPU の数を 768 個まで増やすことができます。
  • すべてのゲスト OS で CPU ホット アドをサポートしているわけではありません。ゲスト OS がサポートされていない場合は、これらの設定を無効にできます。
  • ESXi 4.x 以降と互換性のある仮想マシンで CPU のホット アド機能を使用するには、[ソケットあたりのコアの数] を 1 に設定します。
  • CPU ホット アドが有効となっている、稼動中の仮想マシンに CPU リソースを追加すると、その仮想マシンに接続されているすべての USB パススルー デバイスが切断されてから再接続されます。
注: ESXi ホストのバージョンが 7.0 Update 2 以前の場合、NVIDIA vGPU を使用して仮想マシンに仮想 CPU をホット アドするには、 ESXi ホストに空き vGPU スロットが必要です。vSphere 7.0 Update 3 以降では、ソース ホストに空き vGPU スロットは必要ありません。

前提条件

  • 仮想マシンが次のように構成されていることを確認します。
    • VMware Tools の最新バージョンがインストールされている。
    • ゲスト OS で CPU ホット アドがサポートされている。
    • 仮想マシンが ESX/ESXi 4.x 以降と互換性がある。
    • 仮想マシンがパワーオフ状態です。
  • 必要な権限:仮想マシン.構成.設定

手順

  1. インベントリで仮想マシンを右クリックし、[設定の編集] を選択します。
  2. [仮想ハードウェア] タブで、[CPU] を展開し、[CPU ホット アドの有効化] を選択します。
  3. [OK] をクリックします。

結果

これで、仮想マシンがパワーオンの状態のときにも CPU を追加できます。

仮想 CPU 数の変更

ESXi 7.0 Update 1 以降と互換性のある仮想マシンには、最大 768 個の仮想 CPU を搭載できます。仮想マシンのパワーオフ時に、仮想 CPU の数を変更できます。仮想 CPU のホット アドが有効になっている場合は、仮想マシンの実行中に仮想 CPU の数を増やすことができます。

仮想 CPU ホット アドは、ESXi 5.0 以降と互換性のある、マルチコア CPU 対応の仮想マシンでサポートされます。仮想マシンがパワーオン状態になっていて、CPU ホット アドが有効な場合は、実行中の仮想マシンに仮想 CPU をホット アドすることができます。ソケットごとに、コアの数の倍数のみを追加できます。

仮想マシンに搭載されている仮想 CPU が 128 個以下の場合は、ホット アドを使用して仮想 CPU の数をさらに増やすことはできません。仮想 CPU の数を制限を超えた値に変更するには、まず仮想マシンをパワーオフする必要があります。これに対して、仮想マシンの既存の仮想 CPU が 128 個を超えている場合は、ホット アドを使用して仮想 CPU の数を 768 個まで増やすことができます。

仮想マシンに搭載できる仮想 CPU ソケットの最大数は 128 です。仮想マシンに 128 個を超える仮想 CPU を構成する場合は、マルチコア仮想 CPU を使用する必要があります。

重要: 仮想マシンでマルチコア仮想 CPU 設定を構成する場合は、構成がゲスト OS EULA の要件に準拠するようにしてください。

前提条件

  • CPU のホット アドが有効になっていない場合は、仮想 CPU を追加する前に仮想マシンをパワーオフします。
  • マルチコア CPU のホット アドを実行するには、仮想マシンが ESXi 5.0 以降との互換性があることを確認します。
  • 仮想マシン.構成.CPU カウントの変更権限を持っていることを確認します。

手順

  1. インベントリで仮想マシンを右クリックし、[設定の編集] を選択します。
  2. [仮想ハードウェア] タブで、[CPU] を展開します。
  3. [CPU] ドロップダウン メニューから、コアの数を選択します。
  4. [ソケットあたりのコア] ドロップダウン メニューから、ソケットあたりのコアの数を選択し、[OK] をクリックします。

VMware ハードウェア アシストによる仮想化の公開

完全な CPU 仮想化をゲスト OS に公開できます。これにより、ハードウェア仮想化を必要とするアプリケーションが、バイナリ変換や準仮想化をせずに仮想マシンで稼動できます。

前提条件

注: VMware では、特別に定義および文書化された機能を除き、 ESXi でのサードパーティ製ハイパーバイザーの実行はサポートされません。現在、これは Microsoft Hyper-V に、特に VBS のみに限定され、複数の仮想マシンの仮想化には該当しません。

詳細については、VMware ナレッジベースの記事 (https://kb.vmware.com/s/article/2009916) を参照してください。

  • 仮想マシンが ESXi 5.1 以降との互換性があることを確認します。
  • Intel Nehalem Generation (Xeon Core i7) 以降のプロセッサ、または AMD Opteron Generation 3 (Greyhound) 以降のプロセッサ。
  • Intel VT-x または AMD-V が BIOS で有効であり、ハードウェア アシストによる仮想化が可能であることを確認します。
  • 必要な権限:vCenter Server システムに設定された 仮想マシン.構成の変更.設定の変更

手順

  1. インベントリで仮想マシンを右クリックし、[設定の編集] を選択します。
  2. [仮想ハードウェア] タブで、[CPU] を展開して [ハードウェア アシストによる仮想化をゲスト OS に公開] を選択します。
  3. [OK] をクリックします。
    [構成] タブを更新すると、[ネストされたハイパーバイザー CPU] オプションが [有効] と表示されます。

仮想 CPU パフォーマンス カウンタの有効化

ゲスト OS 内のパフォーマンス調整ツールを使用してソフトウェア プロファイリングを実行できます。プロセッサのパフォーマンスに関する問題を特定し、改善できます。この機能は、仮想マシン内で実行するソフトウェアの最適化やデバッグを行うソフトウェア開発者に役立ちます。

次の条件が適用されます。
  • 仮想 CPU パフォーマンス カウンタが有効になっている場合、互換性のある CPU パフォーマンス カウンタを持つホストにのみ仮想マシンを移行できます。
  • ESXi ホストの BIOS がパフォーマンス カウンタを使用しているか、Fault Tolerance が有効になっている場合、一部の仮想パフォーマンス カウンタは仮想マシンで使用できない場合があります。
注: 仮想マシンが EVC クラスタ内の ESXi ホスト上にある場合、CPU カウンタは仮想マシンの作成または編集に対してサポートされていません。CPU パフォーマンス カウンタを無効にする必要があります。
仮想化されたモデル固有レジスタ (MSR) のリストについては、 http://kb.vmware.com/kb/2030221 にあるVMware のナレッジ ベースの記事を参照してください。

前提条件

  • 仮想マシンが ESXi 5.1 以降との互換性があることを確認します。
  • 仮想マシンがパワーオフしていることを確認します。
  • Intel Nehalem Generation (Xeon Core i7) 以降のプロセッサ、または AMD Opteron Generation 3 ("Greyhound") 以降のプロセッサがインストールされていることを確認します。
  • Intel VT-x または AMD-V が BIOS で有効化され、ハードウェア アシストによる仮想化が可能であることを確認します。
  • 必要な権限:仮想マシン.構成の変更.設定の変更vCenter Server システムが対象)

手順

  1. インベントリで仮想マシンを右クリックし、[設定の編集] を選択します。
  2. [仮想ハードウェア] タブで、[CPU] を展開し、[仮想 CPU パフォーマンス カウンタの有効化] を選択します。
  3. [OK] をクリックします。

プロセッサのスケジュール設定アフィニティの構成

[スケジュール設定のアフィニティ] オプションでは、ホストの物理コア全体への仮想マシン CPU の分配方法を詳細に制御できます。このオプションは、ハイパースレッドが有効な場合にハイパースレッドをサポートします。通常、ESXi は、ハイパースレッドが有効な場合でもプロセッサ スケジュールを十分に管理します。この設定は、重要な仮想マシンの微調整を行う場合にのみ有用です。

CPU アフィニティを使用すると、特定のプロセッサに仮想マシンを割り当てることができます。これにより、仮想マシンの割り当てをマルチプロセッサ システム内で使用可能な特定のプロセッサだけに制限できます。

この設定は、仮想マシンが DRS クラスタに含まれている場合、またはホストにプロセッサ コアが 1 つしかなく、ハイパースレッド機能がない場合には表示されません。

CPU アフィニティでの潜在的な問題については、『vSphere のリソース管理』ドキュメントを参照してください。

前提条件

  • 仮想マシンがパワーオフしていることを確認します。
  • 仮想マシンが DRS クラスタに格納されていないことを確認します。
  • ホストに複数の物理プロセッサ コアがあることを確認します。
  • 権限:仮想マシン.構成の変更.リソースの変更

手順

  1. インベントリで仮想マシンを右クリックし、[設定の編集] を選択します。
  2. [仮想ハードウェア] タブで [CPU] を展開し、[スケジュール設定のアフィニティ] テキスト ボックスに、ハイフンでつないでいるプロセッサの範囲をコンマで区切ったリスト形式で指定します。
    たとえば、「0,4-7」 と入力すると、CPU 0、4、5、6、7 のアフィニティが指定されます。すべてのプロセッサを選択すると、アフィニティなしになります。使用する仮想 CPU と同じ数のプロセッサ アフィニティを指定する必要があります。
  3. [OK] をクリックします。

IO/MMU 仮想化設定の有効化

ESXi は、仮想マシンが仮想化のハードウェア サポートが必要かどうかを判断できます。ESXi は、プロセッサ タイプと仮想マシンに基づいて判断します。自動で選択された設定をオーバーライドすると、パフォーマンスが向上する場合があります。

重要: 最近の x86 プロセッサでは、ソフトウェア アシストなしで仮想化されたワークロードが完全にサポートされています。そのため、CPU/MMU 仮想化設定は ESXi 6.7 以降で廃止されました。CPU/MMU 仮想化設定は、 ESXi 6.5 以前と互換性のある仮想マシンでのみ使用できます。

仮想マシンで負荷の大きいワークロード、たとえばシステム全体のパフォーマンスに大きな影響を与える、TLB (Translation Lookaside Buffer) に負荷が集中するワークロードなどを実行している場合、ソフトウェア MMU を使用できます。ただし、ソフトウェア メモリ管理ユニット (MMU) の場合、オーバーヘッド メモリ要件がハードウェア MMU よりも高くなります。そのため、ソフトウェア MMU をサポートするには、VMkernel の仮想マシン制限用にサポートされる最大オーバーヘッドを増やす必要があります。

手順

  1. インベントリで仮想マシンを右クリックし、[設定の編集] を選択します。
  2. [仮想ハードウェア] タブで、[CPU] を展開し、[有効] チェック ボックスをオンにして仮想マシンの I/O MMU オプションを有効にします。
    注: 仮想ハードウェア バージョン 13 が提供するすべての機能を活用するには、デフォルトのハードウェア MMU の設定を使用します。
  3. [OK] をクリックします。