Linux 常用nvidia-smi命令详解(最新推荐)

目录
  • 简介
  • nvidia-smi
  • 常用nvidia-smi命令显示GPU所有信息
  • PS:
    • nvidia-smi 命令的其他参数
    • -L
    • -i
    • -q
    • topo
  • 扩展:Linux | nvidia-smi 命令使用记录
    • 简介
    • nvidia-smi 命令
    • nvidia-smi 命令的参数

简介

nvidia-smi - NVIDIA System Management Interface program

nvidia smi(也称为NVSMI)为来自 Fermi 和更高体系结构系列的 nvidia Tesla、Quadro、GRID 和 GeForce 设备提供监控和管理功能。GeForce Titan系列设备支持大多数功能,为GeForce品牌的其余部分提供的信息非常有限。NVSMI是一种跨平台工具,支持所有标准NVIDIA驱动程序支持的Linux发行版,以及从Windows Server 2008 R2开始的64位版本的Windows。

详细的信息可以去手册中查找:man nvidia-smi

nvidia-smi

NVIDIA 系統管理介面 (nvidia-smi) 是一個命令行工具,基於 NVIDIA Management Library (NVML) 之勝,旨在協助管理和監控 NVIDIA GPU 設備。

此实用程序允许管理员查询 GPU 设备状态,并允许管理员使用适当的权限修改 GPU 设备状态。它针对Tesla, GRID, Quadro和 Titan X 产品,但其他 NVIDIA GPU 也提供有限的支持。

NVIDIA-smi 在 Linux 上附带 NVIDIA GPU 显示驱动程序,以及 64 位 Windows Server 2008 R2 和 Windows 7。Nvidia-smi 可以将查询信息报告为 XML 或人类可读的纯文本到标准输出或文件。有关更多详细信息,请参阅 nvidia-smi 文档

常用nvidia-smi命令显示GPU所有信息

nvidia-smi

间隔1秒刷新GPU信息

nvidia-smi -l 1

列出当前所有GPU设备

nvidia-smi -L

查看当前的 GPU 时钟速度、默认时钟速度和最大可能的时钟速度

nvidia-smi -q -d CLOCK

PS:

nvidia-smi 命令

直接在命令行输入 nvidia-smi 命令应该是各位炼丹师再熟悉不过的命令了。

注意:建议使用 watch -n 0.5 nvidia-smi 来动态地观察 GPU 的状态。

通过 nvidia-smi 命令,我们会得到这样一个信息丰富的页面:

Tue Nov  9 13:47:51 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.44       Driver Version: 495.44       CUDA Version: 11.5     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:17:00.0 Off |                  N/A |
| 62%   78C    P2   155W / 170W |  10123MiB / 12051MiB |    100%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  Off  | 00000000:65:00.0 Off |                  N/A |
|100%   92C    P2   136W / 170W |  10121MiB / 12053MiB |     99%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   2  NVIDIA GeForce ...  Off  | 00000000:B5:00.0 Off |                  N/A |
| 32%   34C    P8    12W / 170W |      5MiB / 12053MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   3  NVIDIA GeForce ...  Off  | 00000000:B6:00.0 Off |                  N/A |
| 30%   37C    P8    13W / 170W |      5MiB / 12053MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1258      G   /usr/lib/xorg/Xorg                  6MiB |
|    0   N/A  N/A     10426      C   ...a3/envs/JJ_env/bin/python    10111MiB |
|    1   N/A  N/A      1258      G   /usr/lib/xorg/Xorg                  4MiB |
|    1   N/A  N/A     10427      C   ...a3/envs/JJ_env/bin/python    10111MiB |
|    2   N/A  N/A      1258      G   /usr/lib/xorg/Xorg                  4MiB |
|    3   N/A  N/A      1258      G   /usr/lib/xorg/Xorg                  4MiB |
+-----------------------------------------------------------------------------+

其中显存占用和 GPU 利用率当然是我们最常来查看的参数,但是在一些情况下(比如要重点监控 GPU 的散热情况时)其他参数也很有用,笔者简单总结了一下该命令输出的各个参数的含义如下图:

可以看到其中各个位置的对应含义在输出本身中其实都已经指出了(蓝框),红框则指出了输出各个部分的含义,大部分输出的作用一目了然,这里笔者将其中几个不那么直观的参数简单整理一下:

  • Fan:从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。
  • Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
  • Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
  • Disp.A:Display Active,表示GPU的显示是否初始化。
  • Compute M:是计算模式。
  • Volatile Uncorr. ECC:是否开启 ECC 纠错。
  • type:进程类型。C 表示计算进程,G 表示图形进程,C+G 表示都有。

nvidia-smi 命令的其他参数

除了直接运行 nvidia-smi 命令之外,还可以加一些参数,来查看一些本机 Nvidia GPU 的其他一些状态。下面笔者简单介绍几个常用的参数,其他的有需要可以去手册中查找:man nvidia-smi

-L

-L 参数显示连接到系统的 GPU 列表。

nvidia-smi -L

# 输出:
GPU 0: NVIDIA GeForce RTX 3060 (UUID: GPU-55275dff-****-****-****-6408855fced9)
GPU 1: NVIDIA GeForce RTX 3060 (UUID: GPU-0a1e7f37-****-****-****-df9a8bce6d6b)
GPU 2: NVIDIA GeForce RTX 3060 (UUID: GPU-38e2771e-****-****-****-d5cbb85c58d8)
GPU 3: NVIDIA GeForce RTX 3060 (UUID: GPU-8b45b004-****-****-****-46c05975a9f0)

GPU UUID:此值是GPU的全球唯一不可变字母数字标识符。它与主板上的物理标签无关。

-i

-i 参数指定某个 GPU,多用于查看 GPU 信息时指定其中一个 GPU。

-q

-q 参数查看 GPU 的全部信息。可通过 -i 参数指定查看某个 GPU 的参数。

如:

nvidia-smi -i 0 -q

输出太长了,笔者这里就不列了,大家可以自己试一下,是很完整的信息。

topo

topo 展示多GPU系统的拓扑连接信息,通常配合 -m 参数即 nvidia-smi topo -m,其他参数可自行查阅。

输出如下,这里用代码块没法对齐,就直接贴图了:

这里只介绍了几个笔者常用的参数,其他参数请自行查阅手册吧。

扩展:Linux | nvidia-smi 命令使用记录

简介

nvidia smi(也称为NVSMI)为来自 Fermi 和更高体系结构系列的 nvidia Tesla、Quadro、GRID 和 GeForce 设备提供监控和管理功能。GeForce Titan系列设备支持大多数功能,为GeForce品牌的其余部分提供的信息非常有限。NVSMI是一种跨平台工具,支持所有标准NVIDIA驱动程序支持的Linux发行版,以及从Windows Server 2008 R2开始的64位版本的Windows。

详细的信息可以去手册中查找:man nvidia-smi。

nvidia-smi 命令

直接在命令行输入nvidia-smi,得到下图结果

蓝框指出了在输出本身中各个位置的对应含义,红框指出了输出各个部分的含义。

Fan:从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。
Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
Disp.A:Display Active,表示GPU的显示是否初始化。
Compute M:是计算模式。
Volatile Uncorr. ECC:是否开启 ECC 纠错。
type:进程类型。C 表示计算进程,G 表示图形进程,C+G 表示都有。

nvidia-smi 命令的参数

一些常用的参数,查看状态

nvidia-smi -L

-L 参数显示连接到系统的 GPU 列表。

nvidia-smi -L
# 输出:
GPU 0: NVIDIA GeForce RTX 3060 (UUID: GPU-55275dff-****-****-****-6408855fced9)
GPU 1: NVIDIA GeForce RTX 3060 (UUID: GPU-0a1e7f37-****-****-****-df9a8bce6d6b)
GPU 2: NVIDIA GeForce RTX 3060 (UUID: GPU-38e2771e-****-****-****-d5cbb85c58d8)
GPU 3: NVIDIA GeForce RTX 3060 (UUID: GPU-8b45b004-****-****-****-46c05975a9f0)

GPU UUID:此值是GPU的全球唯一不可变字母数字标识符。它与主板上的物理标签无关。

nvidia-smi -i

-i 参数指定某个 GPU,多用于查看 GPU 信息时指定其中一个 GPU。

nvidia-smi -q

-q 参数查看 GPU 的全部信息。可通过 -i 参数指定查看某个 GPU 的参数

到此这篇关于Linux 常用nvidia-smi命令详解的文章就介绍到这了,更多相关Linux nvidia-smi命令内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 最新解决没有NVSMI文件夹以及nvidia-smi‘ 不是内部或外部命令也不是可运行的程序或批处理文件

    目录 问题1:解决没有NVSMI文件夹 问题2:nvidia-smi‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 成功解决‘nvidia-smi‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 解决问题 解决思路 解决方法 windows使用nvidia-smi命令,找不到的解决方式 问题1:解决没有NVSMI文件夹 去英伟达官网下载显卡驱动,对显卡进行升级即可. 问题2:nvidia-smi‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件 方法:将NVSMI文件夹添

  • 重启后nvidia-smi命令不可执行出现“Make sure that the latest NVIDIA driver is installed and running.”的问题解决

    目录 原因分析: 解决方法 方法1: 更改内核启动顺序 显示内核的启动顺序 [推荐]方法2:重新执行nvidia的安装命令 重启后nvidia-smi命令不可执行,出现“Make sure that the latest NVIDIA driver is installed and running.” 原因分析: NVIDIA驱动是在低版本的时候安装,由于系统更新,内核版本升级导致NVIDIA无法应用在高内核版本 vi /etc/default/grub 解决方法 方法1: 更改内核启动顺序 显

  • Linux命令行查看cpu(lm_sensors)和显卡温度(nvidia-smi)的操作方法

    Linux命令行如何查看cpu和显卡温度 lm_sensors,是一款基于linux系统的硬件监控的软件.可以监控主板,CPU的工作电压,温度等数据. 实际上sensors命令只是读取了/sys/class/hwmon/目录下关于CPU等传感器温度参数并直观的展示给我们,我们不安装lm_sensors模块下也可以查看CPU温度. 在Linux下可以通过lm_sensors来查看CPU的温度(当然你的硬件首先要支持),且使用这个功能要有内核相关模块(比如I2C)的支持 默认情况下,Ubuntu L

  • nvidia-smi命令详解和一些高阶技巧讲解

    目录 nvidia-smi命令详解 1. nvidia-smi命令介绍 2. nvidia-smi 支持的 GPU 3. 桌面显卡和服务器显卡均支持的命令 (2)nvidia-smi -h (3)nvidia-smi -L (4)nvidia-smi -q (5)nvidia-smi -l [second] (6)nvidia-smi -pm (7)nvidia-smi dmon (8)nvidia-smi pmon 4. 服务器显卡才支持的命令 (1)使用 nvidia-smi 查看系统/GP

  • 最新解决'nvidia-smi' 不是内部或外部命令也不是可运行的程序

    目录 报错代码 报错原因 解决方案 1.添加环境变量 2.更改命令路径 报错代码 使用cmd查看电脑显卡的信息,调用nvidia-smi查看显卡使用情况报错如下: 'nvidia-smi' 不是内部或外部命令,也不是可运行的程序 报错原因 因为它找不到该命令.这个文件是一个exe文件,一般都在下面这个文件夹中. C:\Program Files\NVIDIA Corporation\NVSMI 所以想要使用该命令必须要能得到这个文件夹,才能执行. 解决方案 原因我们都知道,我们有两种办法可以解决

  • linux 下的yum命令详解

    yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载.安装.yum提供了查找.安装.删除某一个.一组甚至全部软件包的命令,而且命令简洁而又好记. yum的命令形式一般是如下:yum [options] [command] [package ...] 其中的[opt

  • LINUX重启MYSQL的命令详解

    如何启动/停止/重启MySQL 一.启动方式 1.使用 service 启动:service mysqld start 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld start 3.使用 safe_mysqld 启动:safe_mysqld& 二.停止 1.使用 service 启动:service mysqld stop 2.使用 mysqld 脚本启动:/etc/inint.d/mysqld stop 3. mysqladmin shutdown 三.重启 1.

  • linux中权限管理命令详解(chmod/chown/chgrp/unmask)

    Linux操作系统对多用户的管理,是非常繁琐的,所以用组的概念来管理用户就变得简单,每个用户可以在一个独立的组,每个组也可以有零个用户或者多个用户.本文给大家介绍linux中权限管理命令详解(chmod/chown/chgrp/unmask),具体内容如下: chmod 解释 命令名称:chmod 命令英文原意:change the permissions mode of a file 命令所在路径:/bin/chmod 执行权限:所有用户功能描述:改变文件或目录权限 语法 chmod [{ug

  • Linux学习之mkdir命令详解

    目录 前言 1. 文件概念基础知识 2. mkdir命令 前言 最近几天越来越对Linux很感兴趣了, 想再见塔克斯的心情也是越来越浓烈, 自从它给我留了110110110之后,就没了联系. 到现在我也是一头雾水, 我又找不到它而且又没有联系方式, 但是心中的烈火已经被点燃, 趁着月色我又开始学习起来. 1. 文件概念基础知识 上几个命令都是对文件或者文件夹进行操作的, 那么问题就来了: Linux是先有文件还是先有文件夹(目录)? 首先我们来看一下文件与文件夹的区别是什么? 文件:以计算机硬盘

  • Linux系统命令中tree命令详解

    介绍 tree 命令英文理解为树的意思,其功能是是创建文件列表,将目录所有文件以树状的形式列出来.是一款在颜值上优先于ls的命令. linux中的tree命令默认并不会安装,下面来先看看tree安装 安装方法 tar -zxvf tree-1.7.0.tgz cd tree-1.7.0 make cp -af tree /usr/bin 或者 yum install -y tree tree命令详解 -a 显示所有文件和目录. -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合. -C

  • Linux系统中systemctl命令详解

    Linux Systemctl是一个系统管理守护进程.工具和库的集合,用于取代System V.service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器.通过Systemctl –help可以看到该命令主要分为:查询或发送控制命令给systemd服务,管理单元服务的命令,服务文件的相关命令,任务.环境.快照相关命令,systemd服务的配置重载,系统开机关机相关的命令. 1. 列出所有可用单元 # systemctl list-unit-files 2. 列出所

  • Linux系统命令中screen命令详解

    前言 对于执行长时间命令(如大文件运输)而言,为了不让它终止,都会开启一个远程登陆会话窗口来单独运行这样的命令.在此期间,不能关闭远程登录会话窗口或者断开连接,否则前功尽弃.这时候screen命令就派上用场了. Screen是一款由GNU计划开发的用于命令行终端切换的自由软件.用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换.GNU Screen可以看作是窗口管理器的命令行界面版本.它提供了统一的管理多个会话的界面和相应的功能. 下面来介绍下我最常用的screen命令(仅限

  • vue和webpack项目构建过程常用的npm命令详解

    vue //最新稳定版 cnpm install vue //全局安装 vue-cli cnpm install --global vue-cli //创建一个基于 webpack 模板的新项目 vue init webpack my-project //进入项目目录,运行 cd my-project cnpm install cnpm run dev  webpack //全局安装webpack cnpm install -g webpack //安装到你的项目目录 cnpm install

  • Linux下的chkconfig命令详解

    chkconfig命令 Linux下的chkconfig命令主要用来更新(启动或停止)和查询系统服务的运行级信息.谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接. 使用语法 chkconfig [–add][–del][–list][系统服务] 或 chkconfig [–level <等级代号>][系统服务][on/off/reset] chkconfig在没有参数运行时,显示用法.如果加上服务名,那么就检查这个服务是否在当前运行级启动.如果是,返回true

  • Linux修改主机名命令详解

    Linux修改主机名命令 1.如果只需要临时更改主机名,可以使用hostname命令. sudo hostname <new-hostname> # 例如: sudo hostname myDebian 这条命令不会更改/etc/hostname文件中的静态主机名(static hostname),它更改的只是临时主机名(transient hostname).所以重启计算机后会回到旧的主机名. 2.如果想永久改变主机名,可以使用hostnamectl命令,或者使用vim手动修改/etc/ho

随机推荐