nvidia-smi(基础但最重要)nvidia-smi可看到:
持续监控:
watch -n 1 nvidia-smi或:
nvidia-smi dmon输出示例字段:
gpu:GPU 编号pwr:功耗temp:温度sm:SM 利用率(最接近“调度状态”)mem:显存控制器利用率nvidia-smi --query-compute-apps=pid,process_name,gpu_uuid,used_memory --format=csv结合:
ps -fp 可判断:
nvtop(强烈推荐)nvtop功能类似 htop,但针对 GPU:
如果你是写 CUDA / 深度学习框架:
nvprof(旧)Nsight Systems(推荐)适合分析:
kubectl get pods -o wide查看 GPU 资源请求:
kubectl describe pod 关注:
resources:
limits:
nvidia.com/gpu: 1kubectl exec 查看容器内 GPU 状态kubectl exec -it -- nvidia-smi 常见组件:
nvidia-device-plugingpu-operator查看插件状态:
kubectl get pods -n kube-system | grep gpu
kubectl logs ✅ 可判断:
架构:
GPU → DCGM → Prometheus → Grafana部署:
dcgm-exporterDCGM_FI_DEV_GPU_UTILDCGM_FI_DEV_MEM_COPY_UTILDCGM_FI_DEV_POWER_USAGE✅ 可监控:
import torch
print(torch.cuda.current_device())
print(torch.cuda.memory_summary())tf.config.list_physical_devices('GPU')⚠️ 注意:
nvidia-smi 看 kernel 是否真正运行| 现象 | 可能原因 |
|---|---|
| GPU 显存占用但利用率 0% | 程序卡住 / data loader 慢 |
| 多进程但 GPU 利用率低 | 串行 kernel / 同步阻塞 |
| GPU 频繁切换进程 | 多任务争抢 GPU |
| Pod 启动但 nvidia-smi 无进程 | 没真正使用 GPU |
nvidia-smi + nvtopnvidia-smi + Nsight Systemsnvidia-device-plugin + dcgm-exporter + Grafana如果你愿意,可以告诉我:
我可以给你一套更精确的监控方案或命令清单。