设备监控(Device Monitoring)

本文为NVIDIA-SMI系列指令详解第十二篇-设备监控(1),介绍和演示了nvidia-smi 指令的设备监控选项dmon参数,介绍了如下指令:

nvidia-smi dmon

nvidia-smi dmon 翻滚格局展现设备计算信息

GPU 计算数据以翻滚格局显示,每个采样距离一行。 能够根据终端窗口的宽度调整要监控的目标。 监控仅限于最多 4 台设备。 假如未指定设备,则天然枚举下最多支撑的前 4 个设备(从 GPU 索引 0 开端)用于监控意图。

设备监控选项,支撑的参数列表如下:

    [-i | --id]:         驱动程序回来的天然枚举中 GPU 的从 0 开端的索引、
                         GPU 的板序列号、GPU 的 UUID 或 GPU 的 PCI 总线 ID. 
                         假如需求指定多个设备,能够使用逗号","将不同的id离隔。
    [-d | --delay]:      采样的时刻距离,单位:秒 [默许:1秒]
    [-c | --count]:      运转特定次数的采样,然后退出。
    [-s | --select]:     展现一个或者多个采样项 [默许:puc]
                         支撑的采样项如下:
                              p - 功率和温度
                              u - GPU 利用率
                              c - 处理器时钟频率和内存时钟频率
                              v - 功率上限违规和热上限违规
                              m - FB 和 Bar1 内存
                              e - ECC 过错和 PCIe 重放过错
                              t - PCIe Rx 吞吐量和 Tx 吞吐量
    [-o | --options]:    支撑一个或者多个如下值:
                              D - 在翻滚输出中包括日期 (YYYYMMDD)
                              T - 在翻滚输出中包括时刻 (HH:MM:SS)
    [-f | --filename]:   输出日志到特定的文件。
    [-h | --help]:       展现帮助信息

注意:

指令行在循环形式下作业,直到按下 Ctrl+C。

支撑 x64 和 ppc64 架构的裸机 Linux 下新的 GPU 。

支撑 Tesla、GRID、Quadro 系列产品

支撑 Kepler 系列中部分 GeForce 产品。

试验功用。

计算输出信息各字段解说

计算信息以如下CSV格局输出

#Date       Time        gpu   pwr gtemp mtemp    sm   mem   enc   dec  mclk  pclk pviol tviol    fb  bar1 sbecc dbecc   pci rxpci txpci
#YYYYMMDD   HH:MM:SS    Idx     W     C     C     %     %     %     %   MHz   MHz     %  bool    MB    MB  errs  errs  errs  MB/s  MB/s
 20220803   11:52:16      0    59    28    45     0     0     0     0  1593  1155     0     0     0     1     0     0     0     0     0

对应解说如下表所示:

采样项 含义 单位 示例
Date 日期 YYYYMMDD 20220803
Time 时刻 HH:MM:SS 11:52:16
gpu GPU id Idx 0
pwr GPU 功率 W 59
gtemp GPU 温度 C 28
mtemp 内存温度 C 45
sm SM 流式多处理器利用率 % 0
mem 内存利用率 % 0
enc 视频编码使用率 % 0
dec 视频解码使用率 % 0
mclk 内存时钟频率 MHz 1593
pclk 处理器时钟频率 MHz 1155
pviol 功率上限违规 % 0
tviol 热上限违规 bool 0
fb 板载帧缓冲内存信息 MB 0
bar1 fb内存映射信息 MB 1
sbecc 单位ecc过错数 errs 0
dbecc 双位ecc过错数 errs 0
pci pci过错数 errs 0
rxpci pci设备接纳数据速率 MB/s 0
txpci pci设备发送数据速率 MB/s 0

各参数详解

-i 指定GPU

id是驱动程序回来的天然枚举中 GPU 的从 0 开端的索引、GPU 的板序列号、GPU 的 UUID 或 GPU 的 PCI 总线 ID。 假如需求指定多个设备,能够使用逗号”,”将不同的id离隔。

运转示例

查看设备id为0的设备计算信息 运转示例:

nvidia-smi dmon -i 0

NVIDIA-SMI系列命令详解(12)-设备监控(1)

能够看到,需求 Ctrl + C 才干打断,不然会一直采样。

GPU Index 为 0 的卡 功率 59W。GPU温度 28度,显存温度45度,sm 流式多处理器 利用率 0%。 显存利用率 0%。编码率 0%,解码率 0%。 内存时钟 1593 MHz, 处理器时钟 1155 MHz。

-d 指定采样时刻距离(默许1秒)

指定采样时刻距离,默许1秒采样一次。

运转示例

设置采样时刻距离为5秒

nvidia-smi dmon -i 0 -d 5 -o T

NVIDIA-SMI系列命令详解(12)-设备监控(1)

能够看到,采样时刻距离变为5秒一次。

-c 履行指定次数监控循环后退出

运转示例

展现设备为0的GPU的 temp、pwrDraw 信息 5 次之后退出

nvidia-smi dmon -i 0 -c 5 -o T

NVIDIA-SMI系列命令详解(12)-设备监控(1)

能够看到,加上-c 5参数之后,运转5次采样后程序退出,不会像之前的指令需求履行 Ctrl + C 后才干退出。

-s 展现特定的采样项(默许值puc)

支撑的采样项:

  • p – 功率和温度

  • u – GPU 利用率

  • c – 处理器时钟频率和内存时钟频率

  • v – 功率上限违规和热上限违规

  • m – FB 和 Bar1 内存

  • e – ECC 过错和 PCIe 重放过错

  • t – PCIe Rx 吞吐量和 Tx 吞吐量

  • 运转示例

展现设备为0的GPU的 所有 支撑 的 信息

nvidia-smi dmon -i 0 -c 5 -s pucvmet

NVIDIA-SMI系列命令详解(12)-设备监控(1)

能够看到,展现了所有的支撑的采样项。

-o 输出日期和时刻选项

在查询成果中输出时刻和日期选项:

  • D – 在翻滚输出中包括日期 (YYYYMMDD)

  • T – 在翻滚输出中包括时刻 (HH:MM:SS)

运转示例

输出翻滚信息时展现时刻和日期

nvidia-smi dmon -i 0 -c 5 -o DT

NVIDIA-SMI系列命令详解(12)-设备监控(1)

-f 将查询输出重定向到指定文件以替代默许规范输出

将查询输出重定向到指定文件以替代默许规范输出。指定的文件将被覆盖。

运转示例

设备id为0的GPU计算信息输出到文件out.log中

nvidia-smi dmon -i 0 -f out.log

NVIDIA-SMI系列命令详解(12)-设备监控(1)

能够看到,有必要按住 Ctrl + C 才干终止指令,不然指令会一直履行。

out.log文件中的内容与控制台输出的共同。

-h 打印帮助信息

运转示例

展现nvidia-smi stats的帮助信息

nvidia-smi dmon -h

NVIDIA-SMI系列命令详解(12)-设备监控(1)

对应内容如下:

root@YellowMeta-A100:~# nvidia-smi dmon -h
    GPU statistics are displayed in scrolling format with one line
    per sampling interval. Metrics to be monitored can be adjusted
    based on the width of terminal window. Monitoring is limited to
    a maximum of 4 devices. If no devices are specified, then up to
    first 4 supported devices under natural enumeration (starting
    with GPU index 0) are used for monitoring purpose.
    It is supported on Tesla, GRID, Quadro and limited GeForce products
    for Kepler or newer GPUs under x64 and ppc64 bare metal Linux.
    Usage: nvidia-smi dmon [options]
    Options include:
    [-i | --id]:          Comma separated Enumeration index, PCI bus ID or UUID
    [-d | --delay]:       Collection delay/interval in seconds [default=1sec]
    [-c | --count]:       Collect specified number of samples and exit
    [-s | --select]:      One or more metrics [default=puc]
                          Can be any of the following:
                              p - Power Usage and Temperature
                              u - Utilization
                              c - Proc and Mem Clocks
                              v - Power and Thermal Violations
                              m - FB and Bar1 Memory
                              e - ECC Errors and PCIe Replay errors
                              t - PCIe Rx and Tx Throughput
    [-o | --options]:     One or more from the following:
                              D - Include Date (YYYYMMDD) in scrolling output
                              T - Include Time (HH:MM:SS) in scrolling output
    [-f | --filename]:    Log to a specified file, rather than to stdout
    [-h | --help]:        Display help information