nvidia-smi

NVIDIA GPU 状态查询

补充说明

nvidia-smi 是 NVIDIA 驱动自带的 GPU 管理和监控工具,可查看显卡型号、显存、利用率、温度、功耗、ECC、进程和拓扑。排障时先确认驱动、GPU 是否被识别,再定位显存和算力占用。

常用示例

查看概览:

nvidia-smi

持续刷新:

nvidia-smi -l 2

查询关键字段:

nvidia-smi --query-gpu=index,name,memory.total,memory.used,utilization.gpu,temperature.gpu,power.draw \
  --format=csv,noheader,nounits

查看占用 GPU 的进程:

nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv
nvidia-smi pmon -c 5

按 PID 反查:

nvidia-smi | grep python
ps -fp <PID>

开启持久模式,减少初始化延迟:

sudo nvidia-smi -pm 1

查看拓扑和 NVLink:

nvidia-smi topo -m
nvidia-smi nvlink -s

易错点与排错

读完自测

合上页面,先回答,再展开对照。

  1. NVIDIA-SMI has failed 常见原因有哪些?
  2. 容器内看不到 GPU,应检查什么?
  3. nvidia-smi 显示利用率低但业务很慢,可能是什么原因?
答案
  1. 常见于驱动未加载、内核升级后模块不匹配,或容器没有挂载驱动。容器场景要确认驱动是否真的挂载进去了。
  2. 检查是否加了 --gpus all,以及 NVIDIA Container Toolkit 是否正常。还要确认 NVIDIA_VISIBLE_DEVICES 配置。
  3. 可能是单卡多进程争抢,或 CPU/IO 成为瓶颈。也可能有已退出进程仍占着显存。