すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:メトリクスの概要

最終更新日:Oct 29, 2024

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があります。

  • N個のスレッドブロック内のすべてのSMが1サイクル内でカーネル関数を実行する場合、このメトリックの値は1 (100%) です。

  • N/5スレッドブロックがサイクル内でカーネル関数を実行する場合、このメトリックの値は0.2です。

  • サイクルの20% 中にN個のスレッドブロックがカーネル関数を実行する場合、このメトリックの値は0.2です。

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%) の場合、次のいずれかの条件が存在する可能性があります。

  • サイクル内のSMの20% のテンソルコア利用率を100% する。

  • サイクル内の全てのSMのテンソルコア利用率は20% である。

  • サイクルの20% 内の全てのSMのテンソルコア利用率が100% される。

  • その他の条件。

DCGM_FI_PROF_PIPE_FP64_ACTIVE

ゲージ

%

fp64 (倍精度) パイプがアクティブなままであるサイクルの比率。

この値は、瞬時値ではなく、サイクル内の平均値である。

このメトリックの値が大きいほど、fp64コアの使用率が高くなります。

値が1 (100%) の場合、Volta GPUを使用すると、サイクル内で4週間ごとにfp64命令が実行されます。

このメトリックの値が0.2 (20%) の場合、次のいずれかの条件が存在する可能性があります。

  • サイクル内の20% のSMのfp64コア利用率は100% である。

  • サイクル内のすべてのSMのfp64コア利用率は20% です。

  • サイクルの20% 内の全てのSMのfp64コア利用率は100% である。

  • その他の条件。

DCGM_FI_PROF_PIPE_FP32_ACTIVE

ゲージ

%

FMA (Fused Multiply-Add) 操作パイプがアクティブのままであるサイクルの比率。 FMA演算は、FP32 (単精度) 演算および整数演算を含む。

この値は、瞬時値ではなく、サイクル内の平均値である。

このメトリックの値が大きいほど、fp32コアの使用率が高くなります。

値が1 (100%) の場合、Volta GPUを使用すると、サイクル内で2週間ごとにfp32命令が実行されます。

このメトリックの値が0.2 (20%) の場合、次のいずれかの条件が存在する可能性があります。

  • サイクル内の20% のSMのfp32コア利用率は100% である。

  • サイクル内のすべてのSMのfp32コア利用率は20% です。

  • サイクルの20% 内の全てのSMのfp32コア利用率は100% である。

  • その他の条件。

DCGM_FI_PROF_PIPE_FP16_ACTIVE

ゲージ

%

fp16パイプ (半精度) がアクティブのままであるサイクルの比率。

この値は、瞬時値ではなく、サイクル内の平均値である。

このメトリックの値が大きいほど、fp16コアの使用率が高くなります。

値が1 (100%) の場合、Volta GPUを使用するサイクル内で2週間ごとにfp16命令が実行されます。

このメトリックの値が0.2 (20%) の場合、次のいずれかの条件が存在する可能性があります。

  • サイクル内のSMの20% のfp16コア利用率は100% である。

  • サイクル内の全てのSMのfp16コア利用率は20% である。

  • サイクルの20% 内の全てのSMのfp16コア利用率は100% である。

  • その他の条件。

DCGM_FI_PROF_DRAM_ACTIVE

ゲージ

%

デバイスメモリインターフェイスがデータを送信または受信するためにアクティブなままであるサイクルの比率。

この値は、瞬時値ではなく、サイクル内の平均値である。

このメトリックの値が大きいほど、デバイスメモリ使用率が高いことを示します。

値が1 (100%) の場合、DRAM命令はサイクル内で毎週実行される。 メトリックのピーク値は0.8 (80%) に達する可能性があります。

このメトリックの値が0.2である場合 (20%) 、デバイスメモリインタフェースは、サイクルの20% 内にデータを送受信する。

  • DCGM_FI_PROF_PCIE_TX_BYTES

  • DCGM_FI_PROF_PCIE_RX_BYTES

Counter

B/s

Peripheral Component Interconnect Express (PCIe) のTXレートとPCIeのRXレート。 送信または受信されるバイトは、ヘッダおよびペイロードの両方を含む。

この値は、瞬時値ではなく、サイクル内の平均値である。

例えば、1 GBのデータが1秒以内に送信される場合、レートが一貫した値であるかピーク値であるかに関わらず、TXレートは1 GB /秒である。 PCIe Gen 3の理論上の最大帯域幅は、1レーンあたり985 MB /秒です。

  • DCGM_FI_PROF_NVLINK_RX_BYTES

  • DCGM_FI_PROF_NVLINK_TX_BYTES

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

ゲージ

-

ノードが実行されるモード。 有効な値:

  • 0: ノードでGPUアクセラレーションポッドが実行されていません。

  • 1: GPUアクセラレーションポッドは、ノード上で排他的GPUモードで実行されています。

  • 2: GPUアクセラレーションされたポッドは、ノード上で共有GPUモードで実行されています。

非推奨のメトリクス

非推奨メトリック

メトリック用交换

説明

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