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

NVIDIA-SMI系列命令总结的更多相关文章

  1. 玩转Windows服务系列——命令行管理Windows服务

    说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令,命令行都是非常方便以及强大的工具. 接下来就看一下如何通过cmd命 ...

  2. 玩转Windows服务系列——命令行管理Windows服务

    原文:玩转Windows服务系列——命令行管理Windows服务 说到Windows服务的管理就不得不说通过命令行的方式管理Windows服务,因为无论是系统管理员,还是通过编程的方式调用cmd命令, ...

  3. Ansible--配置文件及系列命令

    Ansible目录结构 安装完成ansible后要知道ansible主要安装的了什么,安装的目录结构是什么,每个目录做什么的 可以使用:rpm -ql ansible | less 来查看ansibl ...

  4. [转]玩转Windows服务系列——命令行管理Windows服务

    本文转自:http://www.cnblogs.com/hbccdf/p/managewindowsservicewithcmd.html 说到Windows服务的管理就不得不说通过命令行的方式管理W ...

  5. Ansible之系列命令详解

    ansible系列命令有:ansible.ansible-doc.ansible-playbook.ansible-vault.ansible-console.ansible-galaxy.ansib ...

  6. twoway 系列命令绘制地图

    twoway 系列命令绘制地图 ❝ 在谈到用stata绘制地图时,很多人首先想到的是spmap命令.其实,最常见的twoway系列命令就可以完成我们的大多数绘图需求. 对于spmap命令的使用,在线资 ...

  7. SHA256sum系列命令检测文件完整性

    1 sha256sum sha256sum是一个检测文件完整性的命令,一般下载的文件都会附带一个哈希值,使用sha256sum计算下载文件的哈希值再与目标哈希值比较即可确定文件是否完整,类似的命令还有 ...

  8. Ubuntu 15.04 安装 Nvidia Quadro系列显卡驱动

    在这之前,我用的Ubuntu都是系统自带的驱动, 由于分辨率没有任何问题, 所以一直没有安装Nvidia官方的驱动; 近期更新到 15.04 之后, 在播放avi 格式的常规视频时却出现闪烁的现象, ...

  9. nvidia 的一些命令

    直接在命令行使用 NVIDIA-smi会有问题 首先要确保电脑下了cuda. 然后打开cmd,使用cd命令进入: C:\Program Files\NVIDIA Corporation\NVSMI 然 ...

随机推荐

  1. TensorFlow 2.0 Alpha pip安装指令

    TensorFlow 2.0 Alpha目前已经可以通过pip安装,亲测有效,安装指令为: # 普通版本 pip install tensorflow==2.0.0-alpha0 # GPU版本 pi ...

  2. Oracle AWR报告生成和性能分析

    目录 一.AWE报告生成步骤 1.1 工具选择 1.2 自动创建快照 1.3 手工创建快照 1.4 生成AWR报告 二.AWR报告分析 2.1 AWR之DB Time 2.2 AWR之load_pro ...

  3. 用ASP.NET Core 2.1 建立规范的 REST API -- 保护API和其它

    本文介绍如何保护API,无需看前边文章也能明白吧. 预备知识: http://www.cnblogs.com/cgzl/p/9010978.html http://www.cnblogs.com/cg ...

  4. async/await使用深入详解

    async和await作为异步模型代码编写的语法糖已经提供了一段时间不过一直没怎么用,由于最近需要在BeetleX webapi中集成对Task方法的支持,所以对async和await有了深入的了解和 ...

  5. JVM回收算法

    根搜索算法 原理:设立若干种根对象,当任何一个根对象到某一个对象均不可达时,则认为这个对象是可以被回收的.一般是对象持有的引用指向该对象不可达 在JAVA语言中,可以当做GC roots的对象有以下几 ...

  6. Node.js 命令行工具的编写

    日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作.其编写也不难,和日常编写 Node.js 代码并无二致. package.json 中的 bin 字段 一个 npm 模块, ...

  7. Spring:(一)入门基础学习

    前述 因为前几日刚刚学完Spring的基础,因此写一篇博客整理一下相关的基础知识. 什么是Spring? Spring 是一个轻量级的 DI / IoC 和 AOP 容器的开源框架,帮助分离项目组件之 ...

  8. Python:鲜为人知的功能特性(下)

    GitHub 上有一个名为<What the f*ck Python!>的项目,这个有趣的项目意在收集 Python 中那些难以理解和反人类直觉的例子以及鲜为人知的功能特性,并尝试讨论这些 ...

  9. 【转载】Sqlserver数据库中无自增Id的情况下使用ROW_NUMBER()函数进行数据分页

    在Sqlserver数据库中,如果查询表中含有自增长Id列,一般会采用select Top的方式来数据的分页操作.而实际上很多数据表设计的时候,不一定含有自增长Id列,那么数据库没有Id自增列的时候要 ...

  10. C#中public、private、protected等关键字说明

    public 公有访问.不受任何限制.private 私有访问.只限于本类成员访问,子类,实例都不能访问.protected 保护访问.只限于本类和子类访问,实例不能访问.internal 内部访问. ...