LinuxでGPU使用率を確認する方法は?見方や目安も!(ターミナル:ツール:Ubuntuなど)

Linux環境で機械学習、動画編集、3Dレンダリング、ゲーム配信などを行う際には、GPUが実際に動いているかを確かめる場面があります。

GPU使用率だけを見るのではなく、メモリ使用量、温度、消費電力、実行中プロセスも合わせて確認すると、負荷の原因や性能低下の兆候を把握しやすくなります。

LinuxでGPU使用率を確認する基本手順

LinuxでGPU使用率を確認する基本手順

それではまずLinuxでGPU使用率を確認する基本手順について解説していきます。

結論として、NVIDIA GPUならnvidia-smi、AMD GPUならradeontopやamdgpu関連の情報、Intel GPUならintel-gpu-topを使う方法が代表的です。

Ubuntuを含む多くのディストリビューションでは、ドライバーと監視ツールを適切に導入すれば、ターミナル上でほぼリアルタイムのGPU稼働状況を確認できます。

NVIDIA GPUでnvidia-smiを実行する方法

NVIDIA製GPUを使っている場合、最初に試したいコマンドはnvidia-smiです。

ターミナルを開き、nvidia-smiと入力すると、GPU名、ドライバーバージョン、温度、消費電力、GPU使用率、VRAM使用量、実行中のプロセスなどが一覧で表示されます。

nvidia-smi

表示にGPU Utilという項目があれば、それがGPU使用率です。

例えばGPU Utilが72パーセントなら、確認した瞬間にはGPUの演算資源が比較的高い割合で利用されていることを示します。

Memory UsageはVRAMの使用量であり、使用率と混同しないことが大切です。

監視画面を継続表示する方法

単発の表示では負荷の変化を追いにくいため、一定間隔で画面を更新する方法も便利です。

watchコマンドを組み合わせると、GPU使用率の推移をターミナルに表示し続けられます。

watch -n 1 nvidia-smi

この例では、およそ1秒ごとにnvidia-smiの結果が更新されます。

学習処理の開始直後や推論時の負荷変動を確認したい場合に役立つでしょう。

ただし、短い処理では更新のタイミングによって使用率が低く見えることもあります。

GPUが認識されない場合の確認事項

nvidia-smiを実行してもコマンドが見つからない、またはGPU情報が表示されない場合は、NVIDIAドライバーが未導入か正常に読み込まれていない可能性があります。

Ubuntuでは追加ドライバーの設定画面やパッケージ管理機能から対応ドライバーを導入できます。

GPU監視ツールが使えないときは、アプリケーションの問題と決めつけず、まずGPUドライバーの認識状況を確認してください。

OS更新後、カーネル更新後、仮想環境の設定変更後は、ドライバーの再読み込みが必要になる場合があります。

lspciなどでGPUデバイス自体がOSに見えているかを調べる方法もあります。

GPU使用率とVRAM使用量の見方

続いてはGPU使用率とVRAM使用量の見方を確認していきます。

GPU使用率が高いことと、VRAMが多く使われていることは同じ意味ではありません。

どちらも重要な数値ですが、示している状態が異なるため、作業内容に応じて読み分ける必要があります。

GPU Utilが示す演算負荷

GPU Utilは、GPUコアが計算処理に使われている割合の目安です。

深層学習の学習処理、CUDAを利用した計算、エンコード、レンダリングなどでは、負荷が高い間に使用率が上昇します。

高負荷な処理中にGPU使用率がほぼゼロのままなら、GPUではなくCPUで実行されている可能性を疑うとよいでしょう。

一方で、処理がデータ読み込み待ちになっていると、GPU使用率は上下しやすくなります。

Memory Usageが示すVRAMの状態

VRAMはGPU専用のメモリで、画像、モデル、テクスチャ、計算途中のデータなどを保持します。

nvidia-smiでは使用中のVRAMと総容量が表示されるため、空き容量の把握に向いています。

VRAM使用量が上限に近づくと、アプリケーションがエラーで停止したり、処理が極端に遅くなったりすることがあります。

VRAM使用率は使用中VRAMを総VRAMで割り、100を掛けた値として考えられます。

例えば総容量が12000MBで使用中が9000MBなら、使用率はおよそ75パーセントです。

VRAMに余裕がない状態では、バッチサイズや解像度を下げる調整が有効になる場合があります。

利用プロセスから原因を切り分ける視点

nvidia-smiの下部には、GPUを利用しているプロセスのPID、種類、使用メモリ、実行ファイル名が表示されます。

作業を終了したはずなのにVRAMが解放されない場合、残ったPythonプロセスやブラウザ、描画アプリケーションがGPUを保持していることがあります。

不要なプロセスを終了する前には、対象が本当に不要かを確認してください。

共有サーバーでは、他の利用者のプロセスを止めない配慮も欠かせません。

NVIDIA AMD Intel別の監視ツール

続いてはNVIDIA、AMD、Intel別の監視ツールを確認していきます。

GPUメーカーごとに標準的な監視方法が異なるため、搭載されているGPUに合わせて選ぶことが基本です。

ノートPCでは内蔵GPUと外部GPUが共存するケースもあり、どちらが動いているかを確認する視点も求められます。

NVIDIA向けのnvidia-smiとnvtop

NVIDIA環境ではnvidia-smiが最も広く使われる確認手段です。

より視覚的に確認したい場合には、nvtopを導入すると、GPU使用率、VRAM、温度、プロセスをインタラクティブな画面で確認できます。

複数GPUを搭載したワークステーションでは、nvtopの一覧表示が特に便利です。

GPUごとの負荷の偏りや、どのプロセスがどのGPUを使っているかを把握しやすくなります。

AMD向けのradeontopとamdgpu情報

AMD GPUではradeontopが利用されることがあります。

GPUエンジンの稼働状況を確認できるため、グラフィックス処理や一部の計算負荷を観察する際に役立ちます。

環境によってはamdgpu_topなどのツールも選択肢になります。

利用可能な項目はGPU世代、Mesa、カーネル、ドライバー構成により異なるため、表示内容だけで判断せず、実行中アプリケーションの挙動も併せて確認しましょう。

Intel向けのintel-gpu-top

Intel内蔵GPUではintel-gpu-toolsに含まれるintel-gpu-topが代表的な監視ツールです。

レンダリング、動画処理、メディアエンジンなどの稼働状況を確認できます。

内蔵GPUは省電力機能の影響を受けやすく、常に高い数値が出るとは限りません。

GPU使用率の数値だけで性能を評価しないことが重要です。

GPUの種類、電力制限、CPU性能、メモリ帯域、ストレージ速度、アプリケーション側の最適化まで影響します。

UbuntuでGPU監視環境を整えるポイント

続いてはUbuntuでGPU監視環境を整えるポイントを確認していきます。

UbuntuはNVIDIA GPUを使う開発環境として選ばれることが多く、ドライバーとCUDA、監視ツールの組み合わせを整理しておくとトラブルを減らせます。

ドライバーとCUDAの対応関係

機械学習やGPU計算を行う場合、GPUドライバー、CUDA、利用するフレームワークの対応関係を確認する必要があります。

nvidia-smiにはドライバーバージョンと対応CUDAバージョンの情報が表示される場合があります。

ただし、その表示はインストール済みのCUDA Toolkitのバージョンそのものではないため、意味を取り違えないよう注意しましょう。

PyTorchやTensorFlowが認識するCUDA環境と、OS側のドライバー環境を分けて確認すると整理しやすくなります。

ターミナルからの定期チェック

開発作業中は、学習開始前、学習中、終了後の3段階でGPU情報を見る習慣を作ると効果的です。

開始前には不要なプロセスがVRAMを占有していないか、実行中にはGPU使用率が期待どおりか、終了後にはプロセスが残っていないかを確認します。

確認する場面 主な確認項目 見つけやすい問題
実行前 VRAM空き容量とプロセス 前回処理の残留
実行中 GPU Utilと温度 GPU未使用や熱負荷
実行後 プロセス一覧とVRAM 終了漏れやメモリ保持

GUIツールとターミナルの使い分け

GUI環境ではシステムモニターやGPU監視アプリを使う方法もありますが、リモートサーバーではターミナル操作が中心になります。

SSH接続先でもnvidia-smiは使いやすく、ログを取りたい場合にも向いています。

一方で、初めてGPU負荷を確認する場合は、グラフ表示があるGUIツールのほうが変化をつかみやすいこともあります。

用途に応じて、素早い確認にはnvidia-smi、継続監視にはwatchやnvtopというように使い分けるとよいでしょう。

GPU使用率の目安と異常の判断

続いてはGPU使用率の目安と異常の判断を確認していきます。

適正なGPU使用率は用途によって変わるため、常に100パーセントを目指す必要はありません。

重要なのは、実行している処理の性質と比べて数値が自然かどうかです。

機械学習での使用率の目安

GPUを活用した学習処理では、計算中に高いGPU使用率が続くことがあります。

ただし、データセットの読み込み、CPUでの前処理、ネットワーク通信、チェックポイント保存の時間には使用率が下がります。

使用率が低い状態が長く続く場合、データローダーの設定、バッチサイズ、CPU性能、ストレージ速度がボトルネックかもしれません。

高いGPU使用率は良い状態の一要素ですが、それだけで処理全体が最適とは判断できません。

処理時間、GPU温度、VRAM余裕、エラー発生の有無をまとめて評価してください。

動画編集とレンダリングでの変動

動画編集や3Dレンダリングでは、GPU使用率が素材やエフェクトに応じて大きく変動します。

エンコード処理ではGPUコアではなく専用の動画エンコーダーが使われる場合もあり、GPU Utilだけでは負荷を見誤ることがあります。

ツールが表示するエンコーダー関連の項目や、アプリケーション側のGPUアクセラレーション設定も確認しましょう。

GPUを搭載していても、ソフト側でGPU処理が無効なら期待する負荷は発生しません。

温度と消費電力を確認する意味

GPU使用率が高いときには、温度と消費電力も確認したい項目です。

温度が過度に上がると、GPUが性能を抑えるサーマルスロットリングが起こり、使用率が高くても処理速度が伸びない場合があります。

冷却不足が疑われる場合は、PC内部の清掃、吸排気、ファン設定、設置場所などを見直すとよいでしょう。

ノートPCでは電源モードによってGPUの性能が制限されることもあります。

LinuxでGPU使用率を確認する際のまとめ

LinuxでGPU使用率を確認するには、NVIDIAならnvidia-smi、AMDならradeontopなど、Intelならintel-gpu-topが基本的な選択肢になります。

GPU使用率だけでなく、VRAM使用量、温度、消費電力、実行中プロセスを見ることで、GPUが期待どおり動いているかを判断しやすくなります。

Ubuntuで機械学習や動画処理を行うなら、nvidia-smiを定期的に確認する習慣が実用的です。

使用率が低い場合はGPU未使用、CPUやストレージの待ち時間、設定不備などを疑い、VRAMが逼迫している場合はバッチサイズや解像度を調整してください。

用途ごとの数値の変化を知るほど、性能低下や異常の発見は早くなります。

ABOUT ME
white-circle7338
私自身が今まで経験・勉強してきた「エクセル」「ビジネス用語」「生き方」などの情報を、なるべくわかりやすく、楽しく、発信していきます。 一緒に人生を楽しんでいきましょう