在Linux环境下监控PyTorch运行状态,可结合系统工具与PyTorch自带功能,以下是常用方法:
- 系统资源监控
- nvidia-smi:监控GPU使用情况(显存、温度、功耗等),支持实时刷新(
watch -n 1 nvidia-smi
)。
- htop/top/ps:查看CPU、内存占用及进程状态,
ps
可结合grep
定位PyTorch进程。
- Python库监控
- psutil:在代码中获取进程级CPU、内存使用数据。
- logging:自定义日志记录训练指标(如损失值、准确率)。
- 可视化工具
- TensorBoard:记录并可视化训练指标(需配合
SummaryWriter
)。
- Prometheus+Grafana:构建系统级监控体系,支持多维度指标分析。
- PyTorch专用工具
- Profiler:分析模型性能瓶颈(如CPU/GPU耗时、内存占用)。
- Autograd异常检测:通过
torch.autograd.set_detect_anomaly(True)
定位梯度计算问题。
根据需求选择工具,轻量级监控可组合使用nvidia-smi
+htop
+logging
,复杂场景可引入Prometheus+Grafana或Profiler。