【转】NVIDIA-SMI系列命令总结
1 nvidia-smi介绍
nvidia-smi简称nvsmi,提供监控gpu使用情况和更改gpu状态的功能,是一个跨平台工具,它支持所有标准的nvidia驱动程序支持的linux发行版以及从windowsserver 2008 r2开始的64位的系统。该工具是n卡驱动附带的,只要安装好驱动后就会有它。
windows下程序位置:c:\program files\nvidiacorporation\nvsmi\nvidia-smi.exe。linux下程序位置:/usr/bin/nvidia-smi,由于所在位置已经加入path路径,可直接输入nvidia-smi运行。
2 nvidia-smi命令系列详解
2.1 nvidia-smi
显示所有gpu的当前信息状态
显示的表格中:
fan: 风扇转速(0%--100%),n/a表示没有风扇
temp: gpu温度(gpu温度过高会导致gpu频率下降)
perf: 性能状态,从p0(最大性能)到p12(最小性能)
pwr: gpu功耗
persistence-m: 持续模式的状态(持续模式耗能大,但在新的gpu应用启动时花费时间更少)
bus-id: gpu总线,domain:bus:device.function
disp.a: display active,表示gpu的显示是否初始化
memory-usage:显存使用率
volatile gpu-util:gpu使用率
ecc: 是否开启错误检查和纠正技术,0/disabled, 1/enabled
compute m.: 计算模式,0/default,1/exclusive_process,2/prohibited
附加选项:
nvidia-smi –i xxx
指定某个gpu
nvidia-smi –l xxx
动态刷新信息(默认5s刷新一次),按ctrl+c停止,可指定刷新频率,以秒为单位
nvidia-smi –f xxx
将查询的信息输出到具体的文件中,不在终端显示
2.2 nvidia-smi -q
查询所有gpu的当前详细信息
附加选项:
nvidia-smi –q –u
显示单元而不是gpu的属性
nvidia-smi –q –i xxx
指定具体的gpu或unit信息
nvidia-smi –q –f xxx
将查询的信息输出到具体的文件中,不在终端显示
nvidia-smi –q –x
将查询的信息以xml的形式输出
nvidia-smi -q –d xxx
指定显示gpu卡某些信息,xxx参数可以为memory, utilization, ecc, temperature, power,clock, compute, pids, performance, supported_clocks, page_retirement,accounting
nvidia-smi –q –l xxx
动态刷新信息,按ctrl+c停止,可指定刷新频率,以秒为单位
nvidia-smi --query-gpu=gpu_name,gpu_bus_id,vbios_version--format=csv
选择性查询选项,可以指定显示的属性选项
可查看的属性有:timestamp,driver_version,pci.bus,pcie.link.width.current等。(可查看nvidia-smi--help-query–gpu来查看有哪些属性)
2.3 设备修改选项
可以手动设置gpu卡设备的状态选项
nvidia-smi –pm 0/1
设置持久模式:0/disabled,1/enabled
nvidia-smi –e 0/1
切换ecc支持:0/disabled, 1/enabled
nvidia-smi –p 0/1
重置ecc错误计数:0/volatile, 1/aggregate
nvidia-smi –c
设置计算应用模式:0/default,1/exclusive_process,2/prohibited
nvidia-smi –r
gpu复位
nvidia-smi –vm
设置gpu虚拟化模式
nvidia-smi –ac xxx,xxx
设置gpu运行的工作频率。e.g. nvidia-smi –ac2000,800
nvidia-smi –rac
将时钟频率重置为默认值
nvidia-smi –acp 0/1
切换-ac和-rac的权限要求,0/unrestricted, 1/restricted
nvidia-smi –pl
指定最大电源管理限制(瓦特)
nvidia-smi –am 0/1
启用或禁用计数模式,0/disabled,1/enabled
nvidia-smi –caa
清除缓冲区中的所有已记录pid,0/disabled,1/enabled
2.4 nvidia-smi dmon
设备监控命令,以滚动条形式显示gpu设备统计信息。
gpu统计信息以一行的滚动格式显示,要监控的指标可以基于终端窗口的宽度进行调整。 监控最多4个gpu,如果没有指定任何gpu,则默认监控gpu0-gpu3(gpu索引从0开始)。
附加选项:
nvidia-smi dmon –i xxx
用逗号分隔gpu索引,pci总线id或uuid
nvidia-smi dmon –d xxx
指定刷新时间(默认为1秒)
nvidia-smi dmon –c xxx
显示指定数目的统计信息并退出
nvidia-smi dmon –s xxx
指定显示哪些监控指标(默认为puc),其中:
p:电源使用情况和温度(pwr:功耗,temp:温度)
u:gpu使用率(sm:流处理器,mem:显存,enc:编码资源,dec:解码资源)
c:gpu处理器和gpu内存时钟频率(mclk:显存频率,pclk:处理器频率)
v:电源和热力异常
m:fb内存和bar1内存
e:ecc错误和pcie重显错误个数
t:pcie读写带宽
nvidia-smi dmon –o d/t
指定显示的时间格式d:yyyymmdd,thh:mm:ss
nvidia-smi dmon –f xxx
将查询的信息输出到具体的文件中,不在终端显示
2.5 nvidia-smi pmon
进程监控命令,以滚动条形式显示gpu进程状态信息。
gpu进程统计信息以一行的滚动格式显示,此工具列出了gpu所有进程的统计信息。要监控的指标可以基于终端窗口的宽度进行调整。 监控最多4个gpu,如果没有指定任何gpu,则默认监控gpu0-gpu3(gpu索引从0开始)。
附加选项:
nvidia-smi pmon –i xxx
用逗号分隔gpu索引,pci总线id或uuid
nvidia-smi pmon –d xxx
指定刷新时间(默认为1秒,最大为10秒)
nvidia-smi pmon –c xxx
显示指定数目的统计信息并退出
nvidia-smi pmon –s xxx
指定显示哪些监控指标(默认为u),其中:
u:gpu使用率
m:fb内存使用情况
nvidia-smi pmon –o d/t
指定显示的时间格式d:yyyymmdd,thh:mm:ss
nvidia-smi pmon –f xxx
将查询的信息输出到具体的文件中,不在终端显示
原文:https://blog.csdn.net/handsome_bear/article/details/80903477