遅延感度の設定を "高" にした仮想マシンをパワーオンすると、起動時に "Unable to apply latency-sensitivity setting to virtual machine" というメッセージが表示される
search cancel

遅延感度の設定を "高" にした仮想マシンをパワーオンすると、起動時に "Unable to apply latency-sensitivity setting to virtual machine" というメッセージが表示される

book

Article ID: 425380

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事「Powering on VM with Latency Sensitivity as high may report "Unable to apply latency-sensitivity setting to virtual machine" during power-on」の日本語訳です。
記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

  • 遅延感度を "高" に設定した VM(仮想マシン)を起動すると、 "Unable to apply latency-sensitivity setting to virtual machine <VM name>. No valid placement on the host." のメッセージが出力されることがあります。
  • この事象は同じ ESXI ホスト上で遅延感度 "高" を設定した VM を複数台起動したときに見られます。
  • /var/log/vmkernel.log には以下の出力があります:

YYYY-MM-DDTHH:MM:SS cpu18:xxxxxxxx)WARNING: CpuSched: 311: vcpu xxxxxxxx is placed in adoption mode since all pcpus in its affinitySet 0xffffffffff have exclusive affinity to other vcpus
YYYY-MM-DDTHH:MM:SS cpu19:xxxxxxxx)WARNING: CpuSched: 311: vcpu xxxxxxxx is placed in adoption mode since all pcpus in its affinitySet 0xffffffffff have exclusive affinity to other vcpus
YYYY-MM-DDTHH:MM:SS cpu19:xxxxxxxx)WARNING: CpuSched: 311: vcpu xxxxxxxx is placed in adoption mode since all pcpus in its affinitySet 0xffffffffff have exclusive affinity to other vcpus
YYYY-MM-DDTHH:MM:SS cpu19:xxxxxxxx)WARNING: CpuSched: 311: vcpu xxxxxxxx is placed in adoption mode since all pcpus in its affinitySet 0x80000 have exclusive affinity to other vcpus
YYYY-MM-DDTHH:MM:SS cpu12:xxxxxxxx)WARNING: CpuSched: 1324: Unable to apply latency-sensitivity setting to virtual machine <vm name>. No valid placement on the host.
YYYY-MM-DDTHH:MM:SS cpu2:xxxxxxxx)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 2
YYYY-MM-DDTHH:MM:SS cpu18:xxxxxxxx)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 18
YYYY-MM-DDTHH:MM:SS cpu11:xxxxxxxx)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 11
YYYY-MM-DDTHH:MM:SS cpu1:xxxxxxxx)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 1

Cause

レイテンシ感度を「高」に設定するには、VM の CPU とメモリを 100% 予約する必要があり、各仮想 CPU には物理コアへの排他的アクセスが許可されます。VM に設定されたコアが単一の NUMA ノードで利用できない場合は、VM のパワーオン操作を正常に実行できるよう、レイテンシ感度設定はデフォルトで「通常」に設定されます。

この問題は、VM の NUMA クライアントが特定の NUMA ノードで使用可能なコア数よりも多くの排他的コアを必要としたために、VM に排他的コアとして提供するための非排他的コアが利用できないために発生します。

Resolution

この問題を解決するには、VM を複数の NUMA クライアントに分割し、各 NUMA ノードから各 NUMA クライアントに割り当てるのに十分な非排他的コアが存在するように、NUMA クライアントを異なる NUMA ノードに配置します。

以下の手順を実行して、VM がソケット間で排他的なコア アフィニティを使用してパワーオンできることを確認します。

  • UI 経由で vCenter Server または ESXi ホストにログインします。
  • 対象の VM を右クリックし、[設定の編集]を選択します。
  • VM オプションタブに移動します。
  • 詳細設定で、遅延感度の値を "高" に選択します。
  • 詳細パラメータタブに移動します。
  • 属性と値のセクションに以下のパラメータを追加します。

numa.vcpu.maxPerClient = "6" <- NUMAクライアントが特定のサイズに制限されるように強制します
numa.consolidate = "FALSE" <- NUMAクライアントがNUMAノードに分散されることを強制します

Note: この設定は、以下のホスト構成に基づいており、ホスト上のハードウェアに応じて調整する必要があります。上記の例では、NUMAクライアントはNUMAノードに分散されており、NUMAノード(ソケット)ごとに6つのクライアント(VMコア)が割り当てられます。

従って、numa.vcpu.maxPerClient=(VM の vCPU の数)/(ホストのソケットの数) になります。

Host CPU:
Number of Sockets: 2
Number of cores (total): 40 (20 cores per socket) <- ハイパースレッディングが有効です

VM CPU: 
Number of vCPU: 12

  • [OK]をクリックして設定を保存します。
  • VMをパワーオンします。

 

Additional Information

CPUアフィニティを検証するには、関連するESXiホスト上のsshセッション経由で以下のコマンドを実行します。

  • CPU のアフィニティ構成が成功している場合は、以下のように表示されます。

    [root@esxi:~] tail -f /var/log/vmkernel.log | grep "exclusive affinity"

    YYYY-MM-DDTHH:MM:SS vmkernel: cpu6:891115)CpuSched: vm xxxxxx: 2813: unset exclusive affinity to 6
    YYYY-MM-DDTHH:MM:SS vmkernel: cpu8:891522)CpuSched: vm xxxxxx: 2813: set exclusive affinity to 8
    YYYY-MM-DDTHH:MM:SS vmkernel: cpu15:892677)CpuSched: vm xxxxxx: 2813: set exclusive affinity to 15
    YYYY-MM-DDTHH:MM:SS vmkernel: cpu10:893175)CpuSched: vm xxxxxx: 2813: set exclusive affinity to 10
    YYYY-MM-DDTHH:MM:SS vmkernel: cpu11:893173)CpuSched: vm xxxxxx: 2813: set exclusive affinity to 11

  • 電源投入時にアフィニティが設定されていない場合、ログは以下のように表示されます。

    [root@esxi:~] tail -f /var/log/vmkernel.log | grep "exclusive affinity"

    YYYY-MM-DDTHH:MM:SS cpu12:26997166)WARNING: CpuSched: 1324: Unable to apply latency-sensitivity setting to virtual machine <VM name>. No valid placement on the host.
    YYYY-MM-DDTHH:MM:SS cpu2:26997157)CpuSched:  vm xxxxxxxx: 2764: unset exclusive affinity to 2
    YYYY-MM-DDTHH:MM:SS cpu18:26997167)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 18
    YYYY-MM-DDTHH:MM:SS cpu11:26997162)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 11
    YYYY-MM-DDTHH:MM:SS cpu1:26997163)CpuSched:  vm xxxxxxxx: 2764: unset exclusive affinity to 1
    YYYY-MM-DDTHH:MM:SS cpu34:26997161)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 34
    YYYY-MM-DDTHH:MM:SS cpu39:26997153)CpuSched: vm xxxxxxxx: 2764: unset exclusive affinity to 39

  • 詳細情報を取得するため、ESXiホスト上のsshセッションにて以下のコマンドを追加で実行可能です。

    [root@esxi:~] sched-stats -t cpu -z "name:group:cpu:mode:affinity" | awk 'NR==1 || /vmx-vcpu/'

    [root@esxi:~] sched-stats -t numa-pnode

    [root@esxi:~] sched-stats -t numa-clients