GPU モニタリングは、Exporter、Prometheus、Grafana で構成されるアーキテクチャを使用して、包括的な GPU の可観測性を提供します。Container Service の GPU Exporter からのモニタリングメトリックを使用して、Grafana ダッシュボードを構築できます。このトピックでは、GPU モニタリングメトリックについて説明します。
メトリック課金
GPU モニタリングは、オープンソースの DCGM Exporter が提供するモニタリングメトリックと互換性のある GPU Exporter を使用します。以下の GPU モニタリングメトリックは基本メトリックです。Prometheus でこれらのメトリックを使用しても追加料金は発生しません。他のカスタムメトリックを使用する場合、追加料金が発生します。課金ポリシーの詳細については、「課金の概要」をご参照ください。
メトリック
DCGM メトリック
次のリソースディメンションを使用して、DCGM 関連のメトリックをフィルターできます。
namespace="{{pod_namespace}}"
pod="{{pod_name}}"
Hostname="{{pod_name}}"
NodeName="cn-wulanchabu-c.cr-xxx" (GPU-HPN Pod のみ)
UUID="GPU-example-uuid-abcd"
device="nvidia0"
gpu="0"
modelName="example-model"
メトリックディメンション | メトリック名 | タイプ | 単位 | 説明 |
GPU リソースメトリック | DCGM_FI_DEV_GPU_UTIL | Gauge | % | GPU 使用率。これは、サンプル期間中に 1 つ以上のカーネル関数がアクティブな状態であった時間の割合です。サンプル期間は、GPU プロダクトに応じて 1 秒または 1/6 秒です。 このメトリックは、カーネル関数が GPU を使用していることを示しますが、具体的な使用状況の詳細は示しません。 |
DCGM_FI_DEV_FB_USED | Gauge | MiB | 使用されているフレームバッファー (ビデオメモリ) の量。 | |
DCGM_FI_DEV_FB_TOTAL | Gauge | MiB | フレームバッファー (ビデオメモリ) の総量。 | |
DCGM_FI_DEV_ENC_UTIL | Gauge | % | エンコーダー使用率。 | |
DCGM_FI_DEV_DEC_UTIL | Gauge | % | デコーダー使用率。 | |
DCGM_FI_DEV_MEM_COPY_UTIL | Gauge | % | メモリ帯域幅使用率。 たとえば、NVIDIA V100 GPU の最大メモリ帯域幅は 900 GB/s です。現在のメモリ帯域幅が 450 GB/s の場合、メモリ帯域幅使用率は 50% です。 | |
プロファイリング | DCGM_FI_PROF_SM_ACTIVE | Gauge | % | 時間間隔にわたって、ストリーミングマルチプロセッサ (SM) 上で少なくとも 1 つのワープがアクティブである時間の割合。 値はすべての SM の平均であり、ブロックあたりのスレッド数には影響されません。 ワープは、スケジュールされてリソースが割り当てられた後にアクティブになります。コンピューティング状態、またはメモリリクエストの待機などの非コンピューティング状態になることがあります。 0.5 未満の値は非効率な GPU 使用を示します。高い効率を得るには 0.8 を超える値が必要です。 たとえば、GPU に N 個の SM があると仮定します: カーネル関数は N 個のスレッドブロックを使用して、時間間隔全体ですべての SM で実行されます。値は 1 (100%) です。 カーネル関数は時間間隔中に N/5 個のスレッドブロックを実行します。値は 0.2 です。 カーネル関数は N 個のスレッドブロックを使用しますが、時間間隔の 1/5 しか実行されません。値は 0.2 です。 |
DCGM_FI_PROF_SM_OCCUPANCY | Gauge | % | 時間間隔にわたる、SM 上の常駐ワープと SM がサポートできるワープの最大数との比率。 値は、時間間隔にわたるすべての SM の平均です。 占有率が高いことが、必ずしも GPU 使用率が高いことを意味するわけではありません。GPU メモリ帯域幅 (DCGM_FI_PROF_DRAM_ACTIVE) によって制限されるワークロードの場合、占有率が高いほど GPU の使用がより効果的であることを示します。 | |
DCGM_FI_PROF_DRAM_ACTIVE | Gauge | % | デバイスメモリがデータの送受信でビジー状態であったサイクルの割合。これはメモリ帯域幅使用率としても知られています。 値は時間間隔にわたる平均であり、瞬時値ではありません。 値が高いほど、デバイスメモリの使用率が高いことを示します。 値が 1 (100%) の場合、時間間隔中にすべてのサイクルで DRAM 命令が実行されることを意味します。実際には、達成可能な最大ピークは約 0.8 (80%) です。 値が 0.2 (20%) の場合、時間間隔の 20% のサイクルがデバイスメモリからの読み取りまたは書き込みに費やされたことを意味します。 | |
| Counter | B/s | プロトコルヘッダーを除き、NVLink を介して送受信されるデータのレート。 値は時間間隔にわたる平均であり、瞬時値ではありません。 レートは間隔全体で平均化されます。たとえば、1 秒間に 1 GB のデータが転送された場合、転送が一定のレートで行われたかバーストで行われたかに関わらず、レートは 1 GB/s になります。理論上の最大 NVLink Gen2 帯域幅は、各方向のリンクあたり 25 GB/s です。 | |
| Counter | B/s | プロトコルヘッダーとデータペイロードを含め、PCIe バスを介して送受信されるデータのレート。 値は時間間隔にわたる平均であり、瞬時値ではありません。 レートは間隔全体で平均化されます。たとえば、1 秒間に 1 GB のデータが転送された場合、転送が一定のレートで行われたかバーストで行われたかに関わらず、レートは 1 GB/s になります。理論上の最大 PCIe Gen3 帯域幅は、チャンネルあたり 985 MB/s です。 | |
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE | Gauge | % | テンソル (HMMA/IMMA) パイプがアクティブであったサイクルの割合。 値は時間間隔にわたる平均であり、瞬時値ではありません。 値が高いほど、テンソルコアの使用率が高いことを示します。 値が 1 (100%) の場合、時間間隔中に 2 命令サイクルごとにテンソル命令が発行されることを意味します。1 つの命令の完了には 2 サイクルかかります。 値が 0.2 (20%) の場合は、次のいずれかを意味する可能性があります:
| |
周波数 (クロック) | DCGM_FI_DEV_SM_CLOCK | Gauge | MHz | SM クロック周波数。 |
GPU 例外/XID エラー | DCGM_FI_DEV_NVSWITCH_FATAL_ERRORS | Gauge | エラーコード | NVSwitch の致命的なエラー情報。 値は SXid エラーコードです。 |
DCGM_FI_DEV_ROW_REMAP_FAILURE | Gauge | - | 行再マッピングエラーが発生しました。 | |
DCGM_FI_DEV_ROW_REMAP_PENDING | Gauge | - | 行再マッピングが保留中です。 | |
温度と電力 | DCGM_FI_DEV_GPU_TEMP | Gauge | ℃ | GPU 温度。 |
DCGM_FI_DEV_MEMORY_TEMP | Gauge | ℃ | メモリ温度。 | |
DCGM_FI_DEV_POWER_USAGE | Gauge | W | 消費電力。 | |
Retired Pages | DCGM_FI_DEV_RETIRED_SBE | Gauge | - | シングルビットエラー (SBE) が原因のリタイアページの数。 |
DCGM_FI_DEV_RETIRED_DBE | Gauge | - | ダブルビットエラー (DBE) が原因のリタイアページの数。 |
RDMA メトリック
次のリソースディメンションを使用して、RDMA 関連のメトリックをフィルターできます。
app="nusa-exporter"
hostname="{{pod_name}}"
ip="172.16.17.114"
namespace="{{pod_namespace}}"
node="{{virtual-kubelet-nodename}}"
pod="{{pod_name}}"
メトリック名 | タイプ | 単位 | 説明 |
| Gauge | bytes | Pod RDMA ネットワークの瞬時アウトバウンド/インバウンドトラフィック。 |
| Counter | bytes | Pod RDMA ネットワークの累積アウトバウンド/インバウンドトラフィック。 |
| Gauge | packets | Pod RDMA ネットワーク上の瞬時アウトバウンド/インバウンドパケット数。 |
| Counter | packets | Pod RDMA ネットワーク上の累積アウトバウンド/インバウンドパケット数。 |