【教程】nvidia-smi dmon获取GPU相关的完整信息
转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]
如果本文帮助到了你,欢迎[点赞、收藏、关注]哦~
nvidia-smi dmon
基本功能
-
它是 Device Monitor 的缩写,用于 周期性采样 GPU 运行状态。
-
输出形式是一行一行的时间序列,非常适合写日志。
-
默认监控 前 16 个 GPU,如果要指定 GPU,用
-i
。
常用参数说明
1. 指定 GPU
-i 0,1 # 监控 GPU 0 和 1
-i 00000000:17:00.0 # 通过 PCIe bus ID 指定
-i GPU-xxxxxxx-xxxxxxx-xxxx # 通过 UUID 指定
2. 采样间隔
-d 1 # 每 1 秒采样一次(默认)
-d 5 # 每 5 秒采样一次
3. 采样次数
-c 100 # 采样 100 次后自动退出
4. 选择监控指标 -s
你可以组合多个字母:
-
p
→ 功耗 (Power) 和温度 (Temp) -
u
→ 利用率 (SM、Mem、Enc、Dec、JPG、OFA) -
c
→ 时钟 (Mem / Proc clocks) -
v
→ 功耗/温度违规 (Violations) -
m
→ 显存、BAR1、受保护内存使用率 -
e
→ ECC 错误、PCIe Replay 错误 -
t
→ PCIe Rx/Tx 吞吐量 (MB/s)
示例:
nvidia-smi dmon -s pucmt
表示同时采集 功耗+利用率+时钟+显存+PCIe 吞吐。
5. 输出选项
-o DT # 输出日期 (D) + 时间 (T)
-o csv # 以 CSV 格式输出
-o nounit # 去掉单位行
-o noheader # 去掉表头
示例:
nvidia-smi dmon -s pucmt -d 1 -o DTcsv -f gpu_log.csv
👉 每秒采样一次,输出为带日期时间的 CSV 文件。
6. 输出到文件
-f gpu_log.csv
直接保存日志,避免重定向。
7. 高级:GPM (GPU Performance Metrics)
--gpm-metrics
可以采集更细粒度的指标,例如:
-
20
= PCIe TX -
21
= PCIe RX -
60
= NVLink RX -
61
= NVLink TX
示例:
nvidia-smi dmon --gpm-metrics=1,2,20,21 -d 1 -o DTcsv -f gpm_log.csv
👉 每秒采样 GPU 活跃度、SM 活跃度、PCIe Tx/Rx,直接保存到 CSV。