首页/AI/大模型部署与运维速查/nvidia-smi 结构化查询(CSV)
推理环境与 GPU50 条

nvidia-smi 结构化查询(CSV)

用 --query-gpu 输出机器可读的 CSV,便于脚本采集与二次处理;常用字段覆盖显存、利用率、温度、功耗与降频状态。

结构化查询的用途

默认输出是给人看的排版,脚本处理起来要额外解析。使用结构化查询可以把指定字段直接输出成 CSV,方便采集到监控系统或写进巡检脚本。字段覆盖面很广:显存、利用率、温度、功耗、时钟与降频状态都能取到。写成脚本时要同时考虑字段名与单位选项。

常用查询

常用查询
# 一次取齐巡检常用字段
nvidia-smi --query-gpu=index,name,memory.total,memory.used,utilization.gpu,temperature.gpu,power.draw --format=csv
# 采集脚本常用:去掉表头与单位,便于程序解析
nvidia-smi --query-gpu=index,utilization.gpu,memory.used --format=csv,noheader,nounits
# 查本机支持哪些字段
nvidia-smi --help-query-gpu | head -40

字段速查

字段含义
memory.total / memory.used显存总量与已用
utilization.gpu计算单元利用率百分比
temperature.gpu核心温度
power.draw瞬时功耗
clocks.current.sm当前计算时钟频率
index / uuid设备编号与唯一标识

典型使用场景

  • 巡检脚本:批量采集多台机器的显存与温度,汇总成一张表
  • 容量趋势:定时采集显存水位,作为扩容决策的输入
  • 压测记录:按固定间隔采样功耗与频率,与吞吐数据对齐分析
  • 上架核对:按名称与显存字段核对到货卡型是否与采购单一致
  • 故障取证:保留异常时间段的字段快照,供后续复盘比对

采集脚本要点

  • 固定字段清单:把巡检需要的字段写在一处,避免各处脚本口径不一致
  • 加上免表头与免单位选项:输出直接是数值,省去一轮文本清洗
  • 统一采样间隔:不同机器与不同时间点采样间隔一致,趋势才有可比性
  • 异常留痕:采集失败或字段缺失时记录原始输出,而不是静默跳过
  • 结果落地:按机器与时间归档,容量趋势分析依赖历史数据
脚本里加上去掉表头与单位的选项可以少写一轮文本解析:输出直接是数字列表,接入监控更省事。
字段名会随驱动版本更新增补:采集脚本上线前在本机核对一次可用字段,避免升级后采集成片报错。

易错点

  • 按固定列位置解析默认输出:排版随字段与驱动版本变化,脚本很容易突然失效
  • 不写单位:采集到的数值带单位后缀,直接入库会造成类型错误
  • 字段名照抄旧文档:新增字段较常见,改名较少见,仍要本机核对
  • 采集频率过高:短周期高频调用带来的开销不可忽略,按监控粒度取样即可
  • 只看单台机器:容量与温度要横向对比才有意义,逐台巡检否则难以发现异常个体

数据来源与参考

  • NVIDIA nvidia-smi 文档(docs.nvidia.com/deploy/nvidia-smi)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌