Colabを検索
Kernel > Colab
New Colab Server
Login > Redirect
New Colab Server > GPU > A100
!nvidia-smi
その他のGPU関連コマンド
nvidia-smi 詳細オプション
# 基本情報
$ nvidia-smi
$ nvidia-smi -l 1 # 1秒間隔で更新
$ nvidia-smi -lms 500 # 500ms間隔
# プロセス詳細
$ nvidia-smi pmon # プロセスモニター
$ nvidia-smi pmon -s um # メモリ使用量も表示
# 詳細情報
$ nvidia-smi -q # 全詳細情報
$ nvidia-smi -q -d MEMORY # メモリ情報のみ
$ nvidia-smi -q -d UTILIZATION # 使用率のみ
$ nvidia-smi -q -d TEMPERATURE # 温度情報
# ユーザー別使用状況
$ nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv
$ fuser -v /dev/nvidia* # GPUを使用中のユーザー確認
AMD GPU (ROCm)
$ rocm-smi
$ rocm-smi -l # ループモード
$ rocm-smi --showuse # 使用率
$ rocm-smi --showtemp # 温度
CPU/メモリ監視
# システム概要
$ htop # インタラクティブなプロセスビューア
$ top # 標準プロセスモニター
$ btop # モダンなリソースモニター
# CPU情報
$ lscpu # CPU詳細情報
$ cat /proc/cpuinfo # CPU情報(生データ)
$ nproc # CPU数
# メモリ
$ free -h # メモリ使用量(人間が読みやすい形式)
$ vmstat 1 # 仮想メモリ統計(1秒間隔)
$ cat /proc/meminfo # 詳細メモリ情報
# ユーザー別リソース使用
$ ps aux --sort=-%mem | head # メモリ使用量でソート
$ ps aux --sort=-%cpu | head # CPU使用量でソート
$ top -u username # 特定ユーザーのプロセス
ディスク・ストレージ
# ディスク使用量
$ df -h # ファイルシステム使用状況
$ du -sh /home/* # ホームディレクトリ別使用量
$ du -h --max-depth=1 /data | sort -h # データディレクトリ容量
# I/O監視
$ iostat -x 1 # I/O統計(1秒間隔)
$ iotop # プロセス別I/O使用量
$ dstat # 統合リソースモニター
ネットワーク
# ネットワーク使用量
$ iftop # リアルタイムネットワーク帯域
$ nethogs # プロセス別ネットワーク使用量
$ vnstat # 長期ネットワーク統計
$ ss -tuln # ソケット情報
$ netstat -tuln # ネットワーク接続
# 帯域幅テスト
$ iperf3 -s # サーバーモード
$ iperf3 -c server_ip # クライアントモード
ユーザー・セッション管理
# ログイン中のユーザー
$ w # ユーザーとその作業内容
$ who # ログイン中のユーザー
$ users # ユーザーリスト(簡易)
$ last # ログイン履歴
# リソース制限確認
$ ulimit -a # 現在のユーザーの制限
$ cat /etc/security/limits.conf # システム全体の制限設定
システム情報
# OS情報
$ cat /etc/os-release # OS詳細
$ uname -a # カーネル情報
$ hostnamectl # システム情報
# ハードウェア情報
$ lshw -short # ハードウェア概要
$ dmidecode # BIOS/ハードウェア詳細
$ inxi -F # システム情報まとめ
# 起動時間・負荷
$ uptime # 起動時間とロードアベレージ
$ cat /proc/loadavg # ロードアベレージ
統合監視ツール
# glances(オールインワン監視)
$ glances # 基本モード
$ glances -t 1 # 1秒更新
$ glances --export-csv output.csv # CSV出力
# nvtop(GPU版htop)
$ nvtop # NVIDIA GPU監視
# gpustat(シンプルなGPU監視)
$ gpustat # 一度だけ表示
$ gpustat -cp # CPU表示も追加
$ watch -n 1 gpustat # 1秒間隔で更新
リソース割り当て確認スクリプト例
# ユーザー別GPU使用状況
$ nvidia-smi --query-compute-apps=pid,used_memory --format=csv,noheader | \
while IFS=',' read pid mem; do
user=$(ps -o user= -p $pid)
echo "$user: $mem"
done | sort | uniq
# ユーザー別メモリ使用量合計
$ ps aux | awk '{mem[$1]+=$6} END {for (u in mem) printf "%s: %.2f GB\n", u, mem[u]/1024/1024}' | sort -k2 -rn
# ユーザー別CPU使用率合計
$ ps aux | awk '{cpu[$1]+=$3} END {for (u in cpu) printf "%s: %.2f%%\n", u, cpu[u]}' | sort -k2 -rn
ログ・履歴
# システムログ
$ journalctl -f # リアルタイムログ
$ journalctl -u nvidia-smi # 特定サービス
$ dmesg | tail # カーネルメッセージ
# GPUエラーログ
$ nvidia-smi -q -d ECC # ECCエラー
$ dmesg | grep -i nvidia # NVIDIA関連エラー
Jupiterで外部からアクセスする
1. 前提環境の準備
# システム更新
sudo apt update && sudo apt upgrade -y
# 基本パッケージ
sudo apt install -y python3 python3-pip python3-venv build-essential
2. NVIDIAドライバとCUDAのインストール
# NVIDIAドライバ確認
nvidia-smi
# 入ってない場合はインストール
sudo apt install -y nvidia-driver-535 # バージョンは環境に応じて
# CUDA Toolkit(PyTorchが必要とするバージョン)
# PyTorch 2.x系はCUDA 11.8 or 12.1が推奨
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install -y cuda-toolkit-12-1
# 環境変数設定
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# 再起動
sudo reboot
3. Jupyter Lab + PyTorchのインストール
# 仮想環境作成
python3 -m venv ~/jupyter_env
source ~/jupyter_env/bin/activate
# Jupyter Labインストール
pip install --upgrade pip
pip install jupyterlab
# PyTorch (CUDA 12.1版)
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
# よく使うライブラリ
pip install numpy pandas matplotlib scikit-learn transformers diffusers accelerate
# GPU確認用
python -c "import torch; print(f'CUDA available: {torch.cuda.is_available()}'); print(f'GPU: {torch.cuda.get_device_name(0) if torch.cuda.is_available() else None}')"
4. Jupyterの設定
# 設定ファイル生成
jupyter lab --generate-config
# パスワード設定
jupyter lab password
5. ngrokのインストール
# ngrokインストール
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | \
sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null && \
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | \
sudo tee /etc/apt/sources.list.d/ngrok.list && \
sudo apt update && sudo apt install ngrok
# または直接ダウンロード
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
tar xvzf ngrok-v3-stable-linux-amd64.tgz
sudo mv ngrok /usr/local/bin/
6. ngrok認証トークン設定
# https://dashboard.ngrok.com/get-started/setup でトークン取得
ngrok config add-authtoken YOUR_TOKEN_HERE
7. 起動
# 仮想環境アクティベート
source ~/jupyter_env/bin/activate
# Jupyter起動
jupyter lab --no-browser --port=8888
別のターミナルで:
# ngrokトンネル作成
ngrok http 8888
8. アクセス & GPU確認
ngrokが表示する https://xxxx.ngrok-free.app にアクセスし、Jupyterで以下を実行してGPU確認:
import torch
print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"CUDA version: {torch.version.cuda}")
print(f"GPU count: {torch.cuda.device_count()}")
if torch.cuda.is_available():
print(f"GPU name: {torch.cuda.get_device_name(0)}")
# 簡単なテスト
x = torch.rand(5, 3).cuda()
print(f"\nTensor on GPU: {x.device}")
バックグラウンド実行(systemdサービス)
sudo nano /etc/systemd/system/jupyter.service
[Unit]
Description=Jupyter Lab
After=network.target
[Service]
Type=simple
User=your_username
WorkingDirectory=/home/your_username
ExecStart=/home/your_username/jupyter_env/bin/jupyter lab --no-browser --port=8888
Restart=on-failure
Environment="PATH=/usr/local/cuda/bin:/home/your_username/jupyter_env/bin:/usr/bin"
Environment="LD_LIBRARY_PATH=/usr/local/cuda/lib64"
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable jupyter
sudo systemctl start jupyter
sudo systemctl status jupyter





