ESXi の CPU 最大ターボブースト周波数のテスト
search cancel

ESXi の CPU 最大ターボブースト周波数のテスト

book

Article ID: 422123

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

免責事項:これは英文の記事「Testing CPU Max Turbo Boost Frequency in ESXi」の日本語訳です。記事はベストエフォートで翻訳を進めているため、ローカライズ化コンテンツは最新情報ではない可能性があります。最新情報は英語版の記事で参照してください。

Intel® Turbo Boost Technology は、プロセッサーのワークロードに応じて動作し、プログラムがプロセッサー速度の向上を必要とするたびに、許可された最大速度までスロットルを上げます。

概念実証(PoC)のセットアップなど特定のシナリオにおいて、ESXi 内で CPU の最大ターボ周波数を検証するための VMware からのエンドユーザ向けのガイダンスとなります。

Symptoms:

  • CPU の最大ターボブースト周波数が、物理プロセッサーのベース周波数と比較して125%を表示し続けている。
  • ESXi の電源管理ポリシーが「高パフォーマンス(High Performance)」に設定されている。

Environment

VMware vSphere ESXi

Cause

CPU コアの最大周波数を上げるためには、物理サーバーの BIOS パラメーターだけでなく、ESXiの電源管理ポリシーを「バランシング済み(Balanced)」またはその他の「高パフォーマンス」以外のポリシーに調整する必要があります。

これらの変更によってコア周波数の増加が得られる理由として、単一 CPU コアを Turbo Boost で動作させるオプションは、以下のような複数の要因に依存します。

  • ワークロードの種類
  • 物理 CPU 上のアクティブなコア数
  • 推定される電力および電流消費
  • プロセッサー/コアの温度

ESXiホストの電源管理ポリシーが「高パフォーマンス」に設定されている場合、物理 CPU 上のすべてのコアが永続的なアクティブ状態にある可能性が非常に高く、これは高い電力消費とそれに伴うコア温度の上昇を意味します。しかし、Turbo Boost は、CPU が潜在的な電力の過剰消費を見積もる必要がなく、また熱くなりすぎるリスクがない場合(そうなるとサーマルスロットリングが発生します)にのみ有効になります。
したがって、「高パフォーマンス」ポリシーで動作している ESXi 上のコアは、Turbo Boost 状態で過ごす時間がほとんど、もしくはまったく無くなります。

 

ESXi の電源管理ポリシーが「バランシング済み(Balanced)」に設定されている場合:

このポリシーにより、ESXi は現在必要とされていないコアを "active" 以外の実行状態に切り替えることができ、それによってコアを冷却し、プロセッサーの潜在的な電力消費と温度を下げます。
それによりプロセッサーは、電力制限や熱制限に違反するリスクなしに、特定のコアを定格周波数を超えて動作させる余地を得て、Turbo Boost が利用可能になります。

 

Resolution

ここでは、Intel Xeon Silver 4214R を搭載した DELL Poweredge R640 サーバーを使用したテスト手順を例として示します。

物理 CPU クロック周波数と CPU コア周波数のパラメーターは以下の通りです。

プロセッサー ベース周波数    2.40 GHz
最大ターボ周波数    3.50 GHz

Intel® Xeon® Silver 4214R Processor 
https://ark.intel.com/content/www/us/en/ark/products/197100/intel-xeon-silver-4214r-processor-16-5m-cache-2-40-ghz.html

BIOS と ESXi の電源管理モードを調整した後、テストでは物理サーバーのコア周波数のピークにおいて大幅な改善(144%)が示されました。

  • デバイスの製造元の推奨事項を参照し、BIOS で Turbo Boost、C-State、および C1E を有効にしてサーバーを起動します。
  • ESXiホストの電源管理ポリシーを「バランシング済み(Balanced)」に設定します。
  • SSHセッション経由でESXiホストにアクセスし、単一コアに負荷をかけるために次のコマンドを実行します。
    # sha1sum /dev/zero
  • 2 つ目の SSH セッションで、root ユーザーまたは同等の権限を持つ他のユーザーにて、"esxtop" と入力して、esxtop ユーティリティを開きます。
  • "p" を押して、プロセッサーの電源管理タブに切り替えます。
  • %A/MPERF フィールドをビューに追加します("f" を押し、その後再度 "f" を押し、[return] します)。
  • 追加した列の値を観察します。100 はコアが定格周波数で動作していることを意味し、より高い値はより高い周波数で動作していることになります。

ラボテストでは、この CPU で約 140 の値が示され、最大値は 144.7 でした。これは、コアが定格周波数の144.7%で動作していたことを意味します。

2.40 GHz * 144.7 % = 3.47 GHz

このCPUモデルの最大ターボブーストは3.50 GHzであり、ターボブーストが実際にトリガーされていたことが確認されました