GPUモニタリング2.0は、エクスポータ、プロメテウス、およびGrafanaの組み合わせを使用して、多様なシナリオをサポートするGPUモニタリングシステムを構築します。 GPUエクスポーターメトリクスで構成されるGrafanaダッシュボードを作成して、Container Service for Kubernetes (ACK) クラスターをモニタリングできます。 このトピックでは、GPUモニタリング2.0でサポートされるメトリックについて説明します。
説明
GPU監視2.0によって使用されるGPUエクスポータは、DCGMエクスポータによって提供されるメトリックと互換性がある。 GPUエクスポータは、特定のシナリオの要件を満たすカスタムメトリックも提供します。 DCGMエクスポータの詳細については、「DCGMエクスポータ」をご参照ください。
GPUモニタリングで使用されるGPUメトリックには、DCGMエクスポータでサポートされているメトリックとカスタムメトリックが含まれ2.0。
課金の説明
GPUモニタリングで使用されるカスタムメトリクスには料金がかかります。
この機能を有効にする前に、課金の概要を読んで、カスタムメトリクスの課金ルールを理解することをお勧めします。 料金は、クラスターサイズとアプリケーション数によって異なります。 リソース使用量の表示の手順に従って、リソース使用量を監視および管理できます。
DCGMエクスポーターがサポートするメトリクス
利用メトリクス
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_DEV_GPU_UTIL | ゲージ | % | 1秒または1/6秒のサイクル内のGPU使用率。 サイクルはGPUモデルに基づいて異なります。 サイクルは、1つ以上のカーネル関数がアクティブのままである期間である。 このメトリックは、1つ以上のカーネル関数がGPUリソースを占有していることのみを示します。 メトリクスには詳細なGPU使用量情報は表示されません。 |
DCGM_FI_DEV_MEM_COPY_UTIL | ゲージ | % | メモリ帯域幅の使用率。 たとえば、GPU V100の最大メモリ帯域幅は900 GB /秒です。 現在のメモリ帯域幅使用量が450 GB /秒の場合、メモリ帯域幅使用量は50% です。 |
DCGM_FI_DEV_ENC_UTIL | ゲージ | % | エンコーダの使用率。 |
DCGM_FI_DEV_DEC_UTIL | ゲージ | % | デコーダの使用率。 |
メモリメトリクス
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_DEV_FB_FREE | ゲージ | MiB | 空きフレームバッファメモリの量。 説明 FramebufferメモリはGPUメモリとも呼ばれます。 |
DCGM_FI_DEV_FB_USED | ゲージ | MiB | 占有されているフレームバッファメモリの量。 このメトリックの値は、nvidia-smiコマンドによって返されるMemory-Usageの値と同じです。 |
プロファイル指標
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_PROF_GR_ENGINE_ACTIVE | ゲージ | % | グラフィックスエンジンまたは計算エンジンがアクティブのままであるサイクルの比率。 値は、すべてのグラフィックスエンジンまたは計算エンジンの平均です。 グラフィックスエンジンまたは計算エンジンは、グラフィックスコンテキストまたは計算コンテキストがスレッドにバインドされ、コンテキストがビジーである場合にアクティブである。 |
DCGM_FI_PROF_SM_ACTIVE | ゲージ | % | ストリーミングマルチプロセッサ (SM) 上の少なくとも1つのワープがアクティブのままであるサイクルの比率。 この値は、全てのSMの平均である。スレッドブロックに含まれるワープの数によって値は変わりません。 ワープがスケジュールされ、リソースがワープに割り当てられると、ワープはアクティブと見なされます。 このシナリオでは、ワープのステータスは、コンピューティングであってもよいし、コンピューティングでなくてもよい。 例えば、ワープは、メモリ要求を待っているかもしれない。 このメトリックの値が0.5を下回ると、GPU使用率は低くなります。 GPUの使用率を高くするには、値が0.8より大きいことを確認します。 たとえば、GPUにはN個のSMがあります。
|
DCGM_FI_PROF_SM_OCCUPANCY | ゲージ | % | SM上に存在するワープの数と、1サイクル内でSMによってサポートされるワープの最大数との比。 値は、サイクルを有する全てのSMの平均である。 このメトリックの値が大きいほど、GPU使用率が高いことを示すものではありません。 DCGM_FI_PROF_DRAM_ACTIVEメトリックがGPUメモリ帯域幅が制限されていることを示す場合にのみ、このメトリックの値が大きいほどGPU使用率が高いことを示します。 |
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE | ゲージ | % | テンソル (HMMA/IMMA) パイプがアクティブなままであるサイクルの比率。 この値は、瞬時値ではなく、サイクル内の平均値である。 このメトリックの値が大きいほど、テンソルコアの使用率が高くなります。 値が1 (100%) の場合、テンソル命令はサイクル内の間隔で送信されます。 各命令は、2つの間隔内で実行される。 このメトリックの値が0.2 (20%) の場合、次のいずれかの条件が存在する可能性があります。
|
DCGM_FI_PROF_PIPE_FP64_ACTIVE | ゲージ | % | fp64 (倍精度) パイプがアクティブなままであるサイクルの比率。 この値は、瞬時値ではなく、サイクル内の平均値である。 このメトリックの値が大きいほど、fp64コアの使用率が高くなります。 値が1 (100%) の場合、Volta GPUを使用すると、サイクル内で4週間ごとにfp64命令が実行されます。 このメトリックの値が0.2 (20%) の場合、次のいずれかの条件が存在する可能性があります。
|
DCGM_FI_PROF_PIPE_FP32_ACTIVE | ゲージ | % | FMA (Fused Multiply-Add) 操作パイプがアクティブのままであるサイクルの比率。 FMA演算は、FP32 (単精度) 演算および整数演算を含む。 この値は、瞬時値ではなく、サイクル内の平均値である。 このメトリックの値が大きいほど、fp32コアの使用率が高くなります。 値が1 (100%) の場合、Volta GPUを使用すると、サイクル内で2週間ごとにfp32命令が実行されます。 このメトリックの値が0.2 (20%) の場合、次のいずれかの条件が存在する可能性があります。
|
DCGM_FI_PROF_PIPE_FP16_ACTIVE | ゲージ | % | fp16パイプ (半精度) がアクティブのままであるサイクルの比率。 この値は、瞬時値ではなく、サイクル内の平均値である。 このメトリックの値が大きいほど、fp16コアの使用率が高くなります。 値が1 (100%) の場合、Volta GPUを使用するサイクル内で2週間ごとにfp16命令が実行されます。 このメトリックの値が0.2 (20%) の場合、次のいずれかの条件が存在する可能性があります。
|
DCGM_FI_PROF_DRAM_ACTIVE | ゲージ | % | デバイスメモリインターフェイスがデータを送信または受信するためにアクティブなままであるサイクルの比率。 この値は、瞬時値ではなく、サイクル内の平均値である。 このメトリックの値が大きいほど、デバイスメモリ使用率が高いことを示します。 値が1 (100%) の場合、DRAM命令はサイクル内で毎週実行される。 メトリックのピーク値は0.8 (80%) に達する可能性があります。 このメトリックの値が0.2である場合 (20%) 、デバイスメモリインタフェースは、サイクルの20% 内にデータを送受信する。 |
| Counter | B/s | Peripheral Component Interconnect Express (PCIe) のTXレートとPCIeのRXレート。 送信または受信されるバイトは、ヘッダおよびペイロードの両方を含む。 この値は、瞬時値ではなく、サイクル内の平均値である。 例えば、1 GBのデータが1秒以内に送信される場合、レートが一貫した値であるかピーク値であるかに関わらず、TXレートは1 GB /秒である。 PCIe Gen 3の理論上の最大帯域幅は、1レーンあたり985 MB /秒です。 |
| Counter | B/s | NvLinkのTXレートとNvLinkのRXレート。 送信または受信されるバイトは、ヘッダおよびペイロードの両方を含む。 この値は、瞬時値ではなく、サイクル内の平均値である。 例えば、1 GBのデータが1秒以内に送信される場合、レートが一貫した値であるかピーク値であるかに関わらず、TXレートは1 GB /秒である。 理論上の最大NvLink Gen 2帯域幅は、各方向のレーン当たり25 GB /秒である。 |
クロックメトリック
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_DEV_SM_CLOCK | ゲージ | MHz | SMクロック。 |
DCGM_FI_DEV_MEM_CLOCK | ゲージ | MHz | メモリクロック。 |
DCGM_FI_DEV_APP_SM_CLOCK | ゲージ | MHz | SMアプリケーションクロック。 |
DCGM_FI_DEV_APP_MEM_CLOCK | ゲージ | MHz | メモリアプリケーションクロック。 |
DCGM_FI_DEV_CLOCK_THROTTLE_REASONS | ゲージ | MHz | クロックスロットルの理由。 |
XIDエラーと違反メトリクス
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_DEV_XID_ERRORS | ゲージ | - | 一定期間内に発生した最新のXIDエラー。 |
DCGM_FI_DEV_POWER_VIOLATION | Counter | μ s | パワー違反時間。 |
DCGM_FI_DEV_THERMAL_VIOLATION | Counter | μ s | 熱違反時間。 |
DCGM_FI_DEV_SYNC_BOOST_VIOLATION | Counter | μ s | 同期ブースト違反時間。 |
DCGM_FI_DEV_BOARD_LIMIT_VIOLATION | Counter | μ s | ボード違反時間。 |
DCGM_FI_DEV_LOW_UTIL_VIOLATION | Counter | μ s | 低い利用率違反時間。 |
DCGM_FI_DEV_RELIABILITY_VIOLATION | Counter | μ s | ボードの信頼性違反時間。 |
BAR1
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_DEV_BAR1_USED | ゲージ | MB | 占有されたBAR1の量。 |
DCGM_FI_DEV_BAR1_FREE | ゲージ | MB | フリーBAR1の量。 |
温度と電力のメトリクス
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_DEV_MEMORY_TEMP | ゲージ | C | メモリ温度。 |
DCGM_FI_DEV_GPU_TEMP | ゲージ | C | GPUの温度。 |
DCGM_FI_DEV_POWER_USAGE | ゲージ | W | 電力使用量。 |
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION | Counter | J | ドライバーが最後にリロードされてからの総エネルギー消費量。 |
廃止されたページ指標
メトリック | タイプ | 単位 | 説明 |
DCGM_FI_DEV_RETIRED_SBE | ゲージ | - | 単一ビットエラーのためにリタイアしたページ数。 |
DCGM_FI_DEV_RETIRED_DBE | ゲージ | - | ダブルビットエラーのためにリタイアしたページ数。 |
メトリクスのカスタマイズ
メトリック | タイプ | 単位 | 説明 |
DCGM_CUSTOM_PROCESS_SM_UTIL | ゲージ | % | GPUスレッドのSM使用率。 |
DCGM_CUSTOM_PROCESS_MEM_COPY_UTIL | ゲージ | % | GPUスレッドのメモリコピー使用率。 |
DCGM_CUSTOM_PROCESS_ENCODE_UTIL | ゲージ | % | GPUスレッドのエンコーダ使用率。 |
DCGM_CUSTOM_PROCESS_DECODE_UTIL | ゲージ | % | GPUスレッドのデコーダー使用率。 |
DCGM_CUSTOM_PROCESS_MEM_USED | ゲージ | MiB | GPUスレッドによって占有されるGPUメモリの量。 |
DCGM_CUSTOM_CONTAINER_MEM_ALLOCATED | ゲージ | MiB | コンテナーに割り当てられたGPUメモリの量。 |
DCGM_CUSTOM_CONTAINER_CP_ALLOCATED | ゲージ | - | コンテナに割り当てられたGPU計算能力と、GPUによって提供されるGPU計算能力の合計との比率。 値の範囲は0から1です。 排他的GPUモードまたは共有GPUモードのコンテナーはGPUメモリのみを要求するため、このメトリックの値は0です。 GPUコンピューティングパワーの割り当ては無制限です。 GPUが100 CUのGPU計算能力を提供することができ、30 CUをコンテナに割り当てる場合、コンテナに割り当てられるGPU計算能力の比率は0.3である (30/100) 。 |
DCGM_CUSTOM_DEV_FB_TOTAL | ゲージ | MiB | GPUの総メモリ。 |
DCGM_CUSTOM_DEV_FB_ALLOCATED | ゲージ | - | GPUメモリの合計に対する割り当てられたGPUメモリの比率。 値の範囲は0から1です。 |
DCGM_CUSTOM_ALLOCATE_MODE | ゲージ | - | ノードが実行されるモード。 有効な値:
|
非推奨のメトリクス
非推奨メトリック | メトリック用交换 | 説明 |
nvidia_gpu_temperature_celsius | DCGM_FI_DEV_GPU_TEMP | |
nvidia_gpu_power_usage_milliwatts | DCGM_FI_DEV_POWER_USAGE | |
nvidia_gpu_sharing_memory | DCGM_CUSTOM_DEV_FB_ALLOCATED * DCGM_CUSTOM_DEV_FB_TOTAL | GPUごとに要求されるGPUメモリの割合 × GPUのGPUメモリの総量=GPUから要求されるGPUメモリの量 |
nvidia_gpu_memory_used_bytes | DCGM_FI_DEV_FB_USED | |
nvidia_gpu_memory_total_bytes | DCGM_CUSTOM_DEV_FB_TOTAL | |
nvidia_gpu_memory_allocated_bytes | DCGM_CUSTOM_DEV_FB_ALLOCATED * DCGM_CUSTOM_DEV_FB_TOTAL | GPUごとに要求されるGPUメモリの割合 × GPUのGPUメモリの総量=GPUから要求されるGPUメモリの量 |
nvidia_gpu_duty_cycle | DCGM_FI_DEV_GPU_UTIL | |
nvidia_gpu_allocated_num_devices | sum(DCGM_CUSTOM_DEV_FB_ALLOCATED) | sum (ノード上のGPUごとに要求されるGPUメモリの割合)=ノード上で要求されるGPUの総数 |
nvidia_gpu_num_devices | DCGM_FI_DEV_COUNT |