第二篇: `nvidia-smi` (下) - 自动化监控与脚本
《GPU运维指令集: 关键命令的战地手册》
第二篇: nvidia-smi
(下) - 自动化监控与脚本
核心目标
掌握nvidia-smi
的动态监控和自定义查询功能,摆脱手动、重复地执行命令,为自动化监控和脚本赋能。
使用场景
- 实时追踪:需要像使用
top
命令一样,实时观察一个训练任务启动、运行、结束过程中的GPU负载变化。 - 数据提取:编写脚本时,需要精确地获取某一特定指标(如温度、功耗),而不是处理
nvidia-smi
默认输出那样的复杂文本。 - 自动告警:编写一个自动化脚本,当GPU显存使用率超过阈值时自动发出警报。
一、动态监控 (-l
/ --loop
& -d
) - 让仪表盘“动起来”
如果你想持续观察GPU状态的变化,--loop
参数是你的首选。
命令
# 每隔1秒刷新一次nvidia-smi的输出
nvidia-smi -l 1# 你也可以指定更长的时间间隔,例如5秒
nvidia-smi --loop=5
执行后,你的终端会变成一个动态的GPU仪表盘。按Ctrl+C
可以退出监控。
Pro-Tip:如果你只关心特定类型的指标(如显存和利用率),可以使用-d
(--display
) 参数来“过滤”仪表盘,使其更简洁。
# 只显示显存和利用率相关的板块,每秒刷新
nvidia-smi -d MEMORY,UTILIZATION -l 1
二、自定义查询 (--query-gpu
) - 从面板到数据的“精确制导”
这是nvidia-smi
最强大的功能,也是自动化脚本的基石。它可以让你告别用grep
, awk
等工具去解析nvidia-smi
默认输出的脆弱方式。