nvidia-smi の使い方と便利な活用法

1. nvidia-smi とは?

nvidia-smi (NVIDIA System Management Interface) は、NVIDIA製GPUの状態を確認・管理するためのCLIツールです。GPUの使用状況やメモリの利用状況、温度、電力消費などを簡単にモニタリングでき、主に以下の用途で使用されます。

  • GPUのパフォーマンス監視
  • GPUメモリの使用状況確認
  • GPUの温度や電力消費確認
  • GPUドライバーやCUDAのバージョン確認

2. 基本的な使い方

ターミナルで以下のコマンドを実行すると、GPUの詳細な状態が表示されます。

nvidia-smi

出力例:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12   Driver Version: 525.85.12   CUDA Version: 12.1       |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA RTX 3060       On | 00000000:01:00.0 Off |                  N/A |
| 30%   45C    P2    25W / 170W |   2000MiB / 12000MiB |     20%      Default |
+-------------------------------+----------------------+----------------------+
  • Driver Version: GPUドライバーのバージョン
  • CUDA Version: CUDAのバージョン
  • GPU Utilization: GPUの使用率
  • Memory Usage: メモリ使用量 (使用中 / 最大メモリ)

3. よく使うオプション

nvidia-smi は様々なオプションをサポートしており、情報をカスタマイズして表示できます。

コマンド説明
nvidia-smiGPUの全体ステータスを表示
nvidia-smi -l 11秒ごとにGPUの情報を更新
nvidia-smi --query-gpu=name,memory.usedGPUの名前と使用中のメモリ量のみ表示
nvidia-smi --format=csv出力をCSV形式で表示
nvidia-smi -i 0特定のGPU(0番)に関する情報を表示

4. リアルタイム監視の方法

GPUの状態をリアルタイムでモニタリングする場合、以下の方法が便利です。

方法 1: watch コマンドを使用する

watch -n 1 nvidia-smi
  • -n 1: 1秒ごとに情報を更新
  • Ctrl + C: 監視を終了

方法 2: while ループを使用する

while true; do clear; nvidia-smi; sleep 1; done
  • clear で画面をクリアして見やすくします。
  • sleep 1 で1秒ごとに情報を更新。

方法 3: CSV形式でログを取得する

nvidia-smi --query-gpu=timestamp,name,utilization.gpu,utilization.memory,memory.total,memory.used --format=csv -l 1
  • --query-gpu: 表示したい情報をカスタマイズ可能。
  • -l 1: 1秒ごとに情報を更新。

5. GPU負荷を確認するPythonスクリプト

簡単なPythonスクリプトでGPUの使用率を取得できます。

import os
os.system("nvidia-smi --query-gpu=utilization.gpu,utilization.memory --format=csv")

6. トラブルシューティング

  • エラー: nvidia-smi: command not found
    • NVIDIAドライバーが正しくインストールされていない可能性があります。
    • ドライバーをインストールするか、PATHnvidia-smi を追加してください。
  • GPUが検出されない:
    • GPUが正しく接続されているか確認してください。
    • Dockerや仮想環境で実行している場合、GPUパススルーが正しく設定されているか確認してください。

7. まとめ

nvidia-smi は、NVIDIA製GPUを効率的に管理・監視するために欠かせないツールです。リアルタイムで情報を監視することで、パフォーマンスの最適化や問題の早期発見に役立ちます。

  • GPUの基本的な情報は nvidia-smi で確認可能。
  • watchwhile を使ってリアルタイム監視が可能。
  • 詳細な情報やログ記録には --query-gpu--format=csv を活用。

お試しいただき、ぜひGPUの管理に役立ててください!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です