设备监控(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
能够看到,需求 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
能够看到,采样时刻距离变为5秒一次。
-c 履行指定次数监控循环后退出
运转示例
展现设备为0的GPU的 temp、pwrDraw 信息 5 次之后退出
nvidia-smi dmon -i 0 -c 5 -o T
能够看到,加上-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
能够看到,展现了所有的支撑的采样项。
-o 输出日期和时刻选项
在查询成果中输出时刻和日期选项:
-
D – 在翻滚输出中包括日期 (YYYYMMDD)
-
T – 在翻滚输出中包括时刻 (HH:MM:SS)
运转示例
输出翻滚信息时展现时刻和日期
nvidia-smi dmon -i 0 -c 5 -o DT
-f 将查询输出重定向到指定文件以替代默许规范输出
将查询输出重定向到指定文件以替代默许规范输出。指定的文件将被覆盖。
运转示例
设备id为0的GPU计算信息输出到文件out.log中
nvidia-smi dmon -i 0 -f out.log
能够看到,有必要按住 Ctrl + C 才干终止指令,不然指令会一直履行。
out.log文件中的内容与控制台输出的共同。
-h 打印帮助信息
运转示例
展现nvidia-smi stats的帮助信息
nvidia-smi dmon -h
对应内容如下:
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