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-smi | GPUの全体ステータスを表示 |
nvidia-smi -l 1 | 1秒ごとにGPUの情報を更新 |
nvidia-smi --query-gpu=name,memory.used | GPUの名前と使用中のメモリ量のみ表示 |
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ドライバーが正しくインストールされていない可能性があります。
- ドライバーをインストールするか、
PATH
にnvidia-smi
を追加してください。
- GPUが検出されない:
- GPUが正しく接続されているか確認してください。
- Dockerや仮想環境で実行している場合、GPUパススルーが正しく設定されているか確認してください。
7. まとめ
nvidia-smi
は、NVIDIA製GPUを効率的に管理・監視するために欠かせないツールです。リアルタイムで情報を監視することで、パフォーマンスの最適化や問題の早期発見に役立ちます。
- GPUの基本的な情報は
nvidia-smi
で確認可能。 watch
やwhile
を使ってリアルタイム監視が可能。- 詳細な情報やログ記録には
--query-gpu
と--format=csv
を活用。
お試しいただき、ぜひGPUの管理に役立ててください!