在Linux系统中,nvidia-smi
(NVIDIA System Management Interface)是管理NVIDIA GPU的核心命令行工具。以下是常用命令及功能详解:
nvidia-smi
默认输出:GPU状态、温度、功耗、显存占用、计算进程等实时信息。
nvidia-smi
持续监控(1秒刷新)
watch -n 1 nvidia-smi
显存占用排序
nvidia-smi --query-gpu=memory.used --format=csv
查看占用GPU的进程
nvidia-smi -q -d PIDS
杀死占用GPU的进程
sudo kill -9 $(nvidia-smi | grep -A 10 "Processes" | grep -v "====" | awk '{print $3}')
完整GPU信息(JSON格式)
nvidia-smi -q -x
指定GPU编号查询
nvidia-smi -i 0 -q # 查看第0块GPU的详细信息
设置GPU最大功耗(需root)
sudo nvidia-smi -i 0 -pl 200 # 将GPU 0功耗限制为200W
启用/禁用持久模式(驱动常驻)
sudo nvidia-smi -pm 1 # 启用
sudo nvidia-smi -pm 0 # 禁用
重置GPU(需root)
sudo nvidia-smi -r # 重置所有GPU
sudo nvidia-smi -i 0 -r # 重置指定GPU
ECC错误检查
nvidia-smi -q | grep -A 4 "ECC Errors"
启用/禁用ECC(需支持)
sudo nvidia-smi -e 1 # 启用ECC
sudo nvidia-smi -e 0 # 禁用ECC
自定义输出格式
nvidia-smi --format=csv --query-gpu=index,name,memory.total,memory.used
仅显示关键指标
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,memory.used --format=csv
显示驱动版本和CUDA版本
nvidia-smi --query | grep "Driver Version\|CUDA Version"
监控GPU温度
nvidia-smi -q -d TEMPERATURE
sudo
权限(如功耗设置、重置GPU)。-i <GPU_ID>
可指定某块GPU操作。watch
命令实现动态监控(如watch -n 1 nvidia-smi
)。通过灵活组合这些命令,可以高效监控、调试和管理NVIDIA GPU资源。