コンピュート メトリクスの参照
この記事では、 Databricks UI でネイティブのコンピュート メトリクス ツールを使用して、主要なハードウェアと Spark メトリクスを収集する方法について説明します。 メトリクス UI は、汎用 とジョブ コンピュートで使用できます。

メトリクスはほぼリアルタイムで利用でき、通常の遅延は1分未満です。メトリクスは、顧客のストレージではなく、 Databricks管理ストレージに保存されます。
ノートブックとジョブにおけるサーバレスコンピュートは、メトリクス UI の代わりにクエリの知見を使用します。 サーバレス コンピュート メトリクスの詳細については、 クエリの知見の参照を参照してください。
コンピュート メトリクス UIへのアクセス
コンピュート メトリクス UI を表示するには:
- サイドバーの [ コンピュート ] をクリックします。
- メトリクスを表示するコンピュート リソースをクリックします。
- メトリクス タブをクリックします。
すべてのノードのハードウェア メトリクスが安全で表示されます。 Sparkメトリクスを表示するには、 「ハードウェア」 というラベルのドロップダウン メニューをクリックし、 Spark を選択します。 インスタンスが GPU 対応の場合は、 GPU を選択することもできます。
期間によるメトリクスのフィルタリング
過去のメトリクスを表示するには、日付ピッカーフィルターを使用して時間範囲を選択します。 メトリクスは毎分収集されるため、過去 30 日間の任意の日、時間、または分でフィルタリングできます。 カレンダーアイコンをクリックして定義済みのデータ範囲から選択するか、テキストボックス内をクリックしてカスタム値を定義します。
チャートに表示される時間間隔は、表示している時間の長さに基づいて調整されます。 ほとんどのメトリクスは、現在表示している時間間隔に基づく平均値です。
[ リフレッシュ ]ボタンをクリックして最新のメトリックを取得することもできます。
ノードレベルでのメトリクスの表示
無事、メトリクス ページには、クラスター内のすべてのノード (ドライバーを含む) の一定期間の平均メトリクスが表示されます。
[すべてのノード] ドロップダウン メニューをクリックし、メトリクスを表示するノードを選択すると、個々のノードのメトリクスを表示できます。 GPU メトリクスは、個々のノード レベルでのみ使用できます。 Spark個々のノードでは使用できません。
クラスター内の外れ値ノードを特定しやすくするために、すべての個々のノードのメトリクスを 1 つのページに表示することもできます。 このビューにアクセスするには、 [すべてのノード] ドロップダウン メニューをクリックし、 [ノード別] を選択してから、表示するメトリクス サブカテゴリを選択します。

Hardware メトリクス チャート
次のハードウェア メトリクス チャートは、コンピュート メトリクス UI で表示できます。
-
CPU 使用率とアクティブ ノード : 折れ線グラフには、指定されたコンピュートのタイムスタンプごとにアクティブ ノードの数が表示されます。 棒グラフには、CPU 秒数の合計コストに基づいて、CPU が各モードで費やした時間の割合が表示されます。使用率メトリクスは、グラフに表示される時間間隔の平均です。 追跡されるモードは次のとおりです。
- guest: VM を実行している場合、それらの VM が使用する CPU
- iowait: I/O の待機に費やされた時間
- idle: CPU が何もしていなかった時間
- irq: 割り込み要求に費やされた時間
- nice: ポジティブなnicenessを持つプロセス、つまり他のタスクよりも優先度が低いプロセスによって使用された時間
- softirq: ソフトウェア割り込み要求に費やされた時間
- steal: あなたが VM の場合は、他の VM があなたの CPU から "盗んだ" 時間を計ります
- system: カーネルで費やされた時間
- user: ユーザーランドで過ごした時間
-
メモリ使用率とスワップ : 折れ線グラフには、モード別のメモリ スワップ使用量の合計がバイト単位で表示され、表示された時間間隔で平均化されます。棒グラフには、モード別の合計メモリ使用量が表示されます。これもバイト単位で測定され、表示された時間間隔にわたって平均化されます。次の使用タイプが追跡されます。
- used: 使用中の OS レベルのメモリの合計 (コンピュートで実行されているバックグラウンド プロセスによって使用されるメモリを含む)。 ドライバーとバックグラウンド プロセスはメモリを利用するため、Spark ジョブが実行されていない場合でも使用量が表示されることがあります。
- free: 未使用のメモリ
- buffer: カーネルバッファが使用するメモリ
- cached: OS レベルでファイルシステムキャッシュによって使用されるメモリ
-
ネットワークの受信および送信 : グラフに表示される時間間隔に基づいて平均化された、各デバイスがネットワークを介して受信および送信したバイト数。
-
空きファイルシステム容量 : 各マウントポイントによるファイルシステムの合計使用量。バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます。
Spark メトリクスチャート
次の Spark メトリクスチャートは、コンピュート メトリクス UI で表示できます。
- サーバー負荷分散 : これらのタイルには、コンピュート リソース内の各ノードの過去 1 分間の CPU 使用率が表示されます。 各タイルは、個々のノードのメトリクス ページへのクリック可能なリンクです。
- アクティブ タスク : グラフに表示される時間間隔に基づいて平均化された、任意の時点で実行されているタスクの合計数。
- 失敗したタスクの合計 : エグゼキューターで失敗したタスクの合計数。グラフに表示される時間間隔に基づいて平均化されます。
- 完了したタスクの合計 : エグゼキューターで完了したタスクの合計数。グラフに表示される時間間隔に基づいて平均化されます。
- タスクの合計数 : エグゼキューター内のすべてのタスク (実行中、失敗、完了) の合計数。グラフに表示される時間間隔に基づいて平均化されます。
- 合計シャッフル読み取り : シャッフル読み取りデータの合計サイズ。バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます。
Shuffle read、ステージの開始時にすべてのエグゼキューターでシリアル化された読み取りデータの合計を意味します。 - 合計シャッフル書き込み: シャッフル書き込みデータの合計サイズ。バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます。
Shuffle Writeは、送信前(通常はステージの終わり)にすべてのエグゼキューターに書き込まれたすべてのシリアル化データの合計です。 - 合計タスク期間 : JVMエグゼキューター上でタスクの実行に費やした合計経過時間。秒単位で測定され、グラフに表示される時間間隔に基づいて平均されます。
GPU メトリクス チャート
GPU メトリクスは、 Databricks Runtime ML 13.3 以降でのみ使用できます。
次の GPU メトリクス チャートは、コンピュート メトリクス UI で表示できます。
- サーバーの負荷分散 : このグラフには、各ノードの過去 1 分間の CPU 使用率が表示されます。
- GPU デコーダーごとの使用率 : グラフに表示される時間間隔に基づいて平均化された GPU デコーダーの使用率のパーセンテージ。
- GPU ごとのエンコーダ使用率 : グラフに表示される時間間隔に基づいて平均化された GPU エンコーダ使用率のパーセンテージ。
- GPU ごとのフレーム バッファー メモリ使用率バイト : フレーム バッファー メモリの使用率。バイト単位で測定され、グラフに表示される時間間隔に基づいて平均化されます。
- GPU ごとのメモリ使用率 : グラフに表示される時間間隔に基づいて平均化された GPU メモリ使用率のパーセンテージ。
- GPU ごとの使用率 : グラフに表示される時間間隔に基づいて平均化された GPU 使用率のパーセンテージ。
トラブルシューティング
ある期間に不完全または欠落しているメトリクスが表示される場合は、次のいずれかの問題である可能性があります。
- メトリクスのクエリと保存を担当する Databricks サービスの停止。
- 顧客側のネットワークの問題。
- コンピュートが異常な状態にあるか、または健康に問題があった。