私は、仮想マシンの vgpu 使用状況を監視できるプロジェクトに取り組んでいます。ハイパーバイザーはvCenter
、vCenter ホストに nvidia A16 カードがインストールされており、このホスト上のいくつかの Windows VM に a16 vGPU が割り当てられています。これらの vGPU は同じ GPU チップに割り当てられています。
nvidia-smi
コマンドを使用して、ホストと VM の両方で vGPU の使用状況を取得しようとしました。ホストでは を使用しnvidia-smi vgpu
、VM では を使用しましたnvdia-smi
。しかし、nvidia-smi によって提供されるメトリックは、VM 内の Windows OS によって提供されるメトリックと常に異なることが判明しました。
例えば、使用量nvidia-smi
は6%しかし、Windowsタスクマネージャーからの使用は常に存在していました15%。
ゲスト OS によって提供されるメトリックはユーザーケースの実際の需要を反映しているため、これを信頼することを好みます。
私の質問は、nvidia-smi メトリックの意味とソースは何ですか? なぜ結果がこんなにも異なるのですか? 実際のゲストの需要を反映するように結果を変更することはできますか?
何かアドバイスがあればよろしくお願いします!
答え1
タスク マネージャーと nvidia-smi が測定する期間や時点が異なる場合があり、これにより使用率が異なります。
によるとドキュメンテーション
使用率.GPU
過去のサンプル期間中に GPU 上で 1 つ以上のカーネルが実行されていた時間の割合。サンプル期間は、製品に応じて 1 秒から 1/6 秒の間になります。
メモリ使用率
過去のサンプル期間において、グローバル (デバイス) メモリが読み書きされていた時間の割合。サンプル期間は、製品に応じて 1 秒から 1/6 秒の範囲になります。
一定の変化しない負荷を試して、一致するかどうかを測定します。