nvidia-smi简介及各参数的详解与字段的详解和使用

这篇具有很好参考价值的文章主要介绍了nvidia-smi简介及各参数的详解与字段的详解和使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

nvidia-smi,《Linux从入门到精通》,《其他》,linux,运维,服务器,nvidia,显卡

👨‍🎓博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


nvidia-smi简介

1、什么是nvidia-smi

nvidia-smi是nvidia 的系统管理界面 ,其中smi是 System management interface 的缩写,它可以收集各种级别的信息,查看显存使用情况,显卡的温度… …。此外, 可以启用和禁用 GPU 配置选项 (如 ECC 内存功能)。

2、介绍nvidia-smi

nvidia-sim简称NVSMI,提供监控GPU使用情况和更改GPU状态的功能,是一个跨平台工具,支持所有标准的NVIDIA驱动程序支持的Linux和WindowsServer 2008 R2 开始的64位系统。这个工具是N卡驱动附带的,只要使用nvidia显卡,完成安装驱动就会有nvidia-smi命令;

nvidia-smi命令详解

表格参数详解

nvidia-smi,《Linux从入门到精通》,《其他》,linux,运维,服务器,nvidia,显卡

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.57       Driver Version: 515.57       CUDA Version: 11.7     |
|-------------------------------+----------------------+----------------------+
| 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:65:00.0 Off |                  N/A |
| 30%   22C    P8     3W / 350W |   9815MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A     37593      C   java                             2869MiB |
|    0   N/A  N/A     48477      C   python3                          2779MiB |
+-----------------------------------------------------------------------------+

 
 

| NVIDIA-SMI 515.57       Driver Version: 515.57       CUDA Version: 11.7     |

NVIDIA-SMI 515.57   #GRID版本
Driver Version: 515.57  #驱动版本
CUDA Version: 11.7   #CUDA最高支持的版本

| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:65:00.0 Off |                  N/A |
| 30%   22C    P8     3W / 350W |   9815MiB / 12288MiB |      0%      Default |

|===============================+======================+======================|
为分隔符:上下两行是对应关系,上1对下1,上2对下2
 

  • GPU         #本机中的GPU编号,(多块显卡的时候,编号从0开始)图上GPU的编号为:0。
  • Fan         #风扇转速(0%-100%);N/A表示没有风扇;err表示风扇可能损坏;图上表示风扇转速为:30%。
  • Name        #GPU类型(显卡型号),图上GPU的类型为:NVIDIA GeForce RTX 3080 Ti。
  • Temp         #GPU的温度(GPU温度过高会导致GPU的频率下降),单位摄氏度C;图上温度为:22C。
  • Perf         #GPU的性能状态,从P0(最大性能)到P12(最小性能),图上是:P8
  • Persistence-M    #持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时花费的时间更少,图上显示的是:off
  • Pwr:Usage/Cap    #能耗表示,Usage:用了多少,Cap总共多少;图上Usage显示:3W,Cap显示:350W。
  • Bus-Id        #GPU总线相关显示,domain:bus:device.function
  • Disp.A        #Display Active ,表示GPU的显示是否初始化
  • Memory-Usage    #内存使用率
  • Volatile GPU-Util    #GPU使用率
  • Uncorr. ECC      #关于ECC的东西,是否开启错误检查和纠正技术,0/disabled,1/enabled
  • Compute M      #计算模式,0/DEFAULT,1/EXCLUSIVE_PROCESS,2/PROHIBITED
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       762      C   java                                        1995MiB |
|    1       354      C   python3                                     2101MiB |

|=============================================================================|
为分隔符:分隔符上面对应下面的所有
 

  • Processes       #显示每个进程占用的显存使用率、进程号、占用的哪个GPU。
     
  • GPU          #当前进程占用的那块显卡。
  • PID          #当前进程的PID,可使用ps -ef | grep PID 查看详细命令。
  • Type          #当前进程的运行状态。
  • Process name     #当前进程的运行主命令。
  • GPU Memory Usage   #该进程占用的显存。

nvidia-smi --help命令详解

列表选项:
-L			#列出所有可用的 NVIDIA 设备
-B			#列出所有被拉入黑名单的NVIDIA设备

查询选项:
-q			#查询显示GPUnvidia的相关信息

配合选项:
-u、 --unit #显示单位属性,而不是GPU属性。
-i、 --id	#以特定GPU或单元为目标。可指定显卡编号
--format	#指定输出的格式csv
--filename	#输入csv文件,--filename=后跟自定义csv文件名;
--query-gpu	#指定输出的字段,后可跟timestamp时间、name,

-x、 --xml	#格式生成xml输出。

-l			#持续刷新显存状态
-lms		#循环动态显示;每毫秒

--dtd		#显示xml输出时,嵌入dtd。

-d、 --display	#仅显示选定信息:MEMORY,

列出所有可用的 NVIDIA 设备

nvidia-smi -L

nvidia-smi,《Linux从入门到精通》,《其他》,linux,运维,服务器,nvidia,显卡

作用:可用作统计服务器中的显卡数量。

列出所有被拉入黑名单的NVIDIA设备

nvidia-smi -B

nvidia-smi,《Linux从入门到精通》,《其他》,linux,运维,服务器,nvidia,显卡

No blacklisted devices found. 未找到列入黑名单的设备。

查询nvidiaGPU的相关信息

nvidia-smi -q

nvidia-smi,《Linux从入门到精通》,《其他》,linux,运维,服务器,nvidia,显卡

持续刷新显存状态

#每两秒刷新一次显存状态
nvidia-smi -l 2

也可用watch -n 1 nvidia-smi #1秒刷新一次显存状态

查询所有的csv文件--query-gpu可使用的字段及字段说明、实例

#查询可使用的所有字段
nvidia-smi --help-query-gpu


timestamp			#查询位置的时间戳,格式为“YYYY/MM/DD HH:MM:SS.msec”	;	nvidia-smi --format=csv,noheader --query-gpu=timestamp
memory.total		#查询已安装的GPU显存总数。								nvidia-smi --format=csv,noheader --query-gpu=memory.total
memory.used			#查询已安装的GPU显存使用率。							nvidia-smi --format=csv,noheader --query-gpu=memory.used
memory.free			#查询已安装的GPU剩余显存。								nvidia-smi --format=csv,noheader --query-gpu=memory.free
driver_version		#查询已安装的NVIDIA显示器驱动程序的版本;					nvidia-smi --format=csv,noheader --query-gpu=driver_version
index				#输出显卡的编号:										nvidia-smi --format=csv,noheader --query-gpu=index
pstate				#GPU的当前性能状态。状态范围从P0(最大性能)到P12(最小性能)	nvidia-smi --format=csv,noheader --query-gpu=pstate
power.draw			#显存功耗,对应Pwr:Usage使用:							nvidia-smi --format=csv,noheader --query-gpu=power.draw
temperature.gpu		#输出GPU温度,核心GPU温度。							nvidia-smi --format=csv,noheader --query-gpu=index,temperature.gpu | sed -e "s#, #卡温度为:#g" -e 's#$#°C#g'
fan.speed			#输出GPU风扇转速。									nvidia-smi --format=csv,noheader --query-gpu=index,fan.speed | sed "s#, #卡风扇转速为:#g"
utilization.gpu		#输出GPU的使用率:									nvidia-smi --format=csv,noheader --query-gpu=utilization.gpu
utilization.memory  #输出显存的使用率:									nvidia-smi --format=csv,noheader --query-gpu=utilization.memory
count				#查询位置的时间戳,格式为“YYYY/MM/DD HH:MM:SS.msec”;	nvidia-smi --format=csv,noheader --query-gpu=count
"name" or "gpu_name"		#查询显卡型号,适用于所有产品;												nvidia-smi --format=csv,noheader --query-gpu=name,gpu_name
"serial" or "gpu_serial"	#该编号与每个板上实际打印的序列号相匹配。它是全局唯一的不可变字母数字值。			nvidia-smi --format=csv,noheader --query-gpu=serial,gpu_serial
"uuid" or "gpu_uuid"		#此值是GPU的全局唯一不可变字母数字标识符。它与电路板上的任何物理标签都不对应。		nvidia-smi --format=csv,noheader --query-gpu=uuid,gpu_uuid
"pci.bus_id"or"gpu_bus_id"	#PCI总线id为“域:总线:设备.功能”,十六进制。									nvidia-smi --format=csv,noheader --query-gpu=pci.bus_id,gpu_bus_id
pci.domain			#PCI域名,十六进制。									nvidia-smi --format=csv,noheader --query-gpu=pci.domain
pci.bus				#PCI总线编号,十六进制。								nvidia-smi --format=csv,noheader --query-gpu=pci.bus
pci.device			#PCI设备编号,十六进制。								nvidia-smi --format=csv,noheader --query-gpu=pci.device
pci.device_id		#PCI供应商设备id,十六进制								nvidia-smi --format=csv,noheader --query-gpu=pci.device_id
pci.sub_device_id	#PCI子系统id,十六进制									nvidia-smi --format=csv,noheader --query-gpu=pci.sub_device_id
vbios_version		#GPU板的BIOS。										nvidia-smi --format=csv,noheader --query-gpu=vbios_version
inforom.oem			#OEM配置数据的版本。									nvidia-smi --format=csv,noheader --query-gpu=inforom.oem
inforom.ecc			#ECC记录数据的版本。									nvidia-smi --format=csv,noheader --query-gpu=inforom.ecc
driver_model.current		#当前使用的驱动程序模型。在Linux上始终为“N/A”		nvidia-smi --format=csv,noheader --query-gpu=driver_model.current
accounting.buffer_size		#循环缓冲区的大小,该缓冲区包含可查询会计统计信息的进程列表。这是在有关最旧进程的信息被有关新进程的信息覆盖之前,将为其存储记帐信息的最大进程数		nvidia-smi --format=csv --query-gpu=accounting.buffer_size

持续监控nvidia-smi结果写入自定义csv文件,并指定写入文件的监控字段

nvidia-smi -l 1 --format=csv --filename=report.csv --query-gpu=timestamp,name,index,utilization.gpu,memory.total,memory.used,memory.free,power.draw

-l      #隔多久记录一次,我们写的是每秒记录一次。
--format   #结果记录文件格式是csv类型。(csv)
--filename  #结果记录文件的名字。(report.csv)
--query-gpu  #都记录哪些数据到csv文件中;
  timestamp     #输出每块显卡的时间戳:nvidia-smi --format=csv --query-gpu=timestamp
  name        #输出显卡的型号(名称):nvidia-smi --format=csv --query-gpu=name
  index       #输出显卡的编号:nvidia-smi --format=csv --query-gpu=index
  utilization.gpu  #输出GPU的使用率:nvidia-smi --format=csv --query-gpu=utilization.gpu
  memory.total    #显存大小,输出总显存值:nvidia-smi --format=csv --query-gpu=memory.total
  memory.used     #显存大小,输出使用了多少显存:nvidia-smi --format=csv --query-gpu=memory.used
  memory.free     #显存大小,输出剩余多少显存:nvidia-smi --format=csv --query-gpu=memory.free;不太准,建议使用:总显存-使用显存来计算;
  power.draw     #显存功耗,对应Pwr:Usage使用:nvidia-smi --format=csv --query-gpu=power.draw

持续监控nvidia-smi结果为csv类型并双重重定向到csv文件中,并指定写入文件的监控字段

 nvidia-smi -lms --query-gpu=timestamp,pstate,temperature.gpu,utilization.gpu,utilization.memory,memory.total,memory.free,memory.used --format=csv | tee gpu-log.csv

-lms     #循环动态显示;每毫秒
--query-gpu  #都记录哪些数据到csv文件中;
  timestamp     #输出每块显卡的时间戳:nvidia-smi --format=csv --query-gpu=timestamp
  pstate     #输出GPU的性能状态:nvidia-smi --format=csv --query-gpu=pstate
  temperature.gpu     #输出GPU的显卡温度:nvidia-smi --format=csv --query-gpu=temperature.gpu
  utilization.gpu  #输出GPU的使用率:nvidia-smi --format=csv --query-gpu=utilization.gpu
  utilization.memory  #输出显存的使用率:nvidia-smi --format=csv --query-gpu=utilization.memory
  memory.total    #显存大小,输出总显存值:nvidia-smi --format=csv --query-gpu=memory.total
  memory.used     #显存大小,输出使用了多少显存:nvidia-smi --format=csv --query-gpu=memory.used
  memory.free     #显存大小,输出剩余多少显存:nvidia-smi --format=csv --query-gpu=memory.free;不太准,建议使用:总显存-使用显存来计算;
--format   #结果记录文件格式是csv类型。(csv)
tee      #双重重定向到gpu-log.csv文件中。

指定0显卡输出csv类型的显存总空间及使用空间和剩余空间

nvidia-smi -i 0 --format=csv  --query-gpu=memory.total,memory.used,memory.free

-i       #指定显卡编号;不使用-i,默认是显示所有的显卡型号的数据;nvidia-smi --format=csv --query-gpu=memory.total,memory.used,memory.free
--format    #结果记录文件格式是csv类型。(csv)
--query-gpu  #都记录哪些数据到csv文件中;
  memory.total    #显存大小,输出总显存值:nvidia-smi --format=csv --query-gpu=memory.total
  memory.used     #显存大小,输出使用了多少显存:nvidia-smi --format=csv --query-gpu=memory.used
  memory.free     #显存大小,输出剩余多少显存:nvidia-smi --format=csv --query-gpu=memory.free;不太准,建议使用:总显存-使用显存来计算;

查询所有的csv文件--format可使用的字段及字段说明、实例

csv			文件格式			vidia-smi --format=csv --query-gpu=memory.total
noheader	去除文件头部标题	vidia-smi --format=csv,noheader --query-gpu=memory.total
nounits		去除单位,比如MiB	nvidia-smi --format=csv,noheader,nounits --query-gpu=memory.total

查询总显存不带头部标题

nvidia-smi --format=csv,noheader --query-gpu=memory.total

nvidia-smi,《Linux从入门到精通》,《其他》,linux,运维,服务器,nvidia,显卡

查询总显存不带头部标题并且不带单位

nvidia-smi --format=csv,noheader,nounits --query-gpu=memory.total

nvidia-smi,《Linux从入门到精通》,《其他》,linux,运维,服务器,nvidia,显卡

附加:计算某显卡的剩余显存脚本

下载地址:计算显卡的剩余显存脚本:nvidia.sh
下载时记得看下面的说明和用法哈;
注▲:没有积分可购买时,可私信我发你;但是还是需要进去看一下说明和用法,保证能够顺利使用。文章来源地址https://www.toymoban.com/news/detail-777849.html

到了这里,关于nvidia-smi简介及各参数的详解与字段的详解和使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 运行nvidia-smi 和nvcc -V 出现的版本不一致问题详解

    CUDA 有两种API,分别是驱动API和 运行时 API 。 nvidia-smi :如果能正常使用,则说明Driver API 已经安装,nvidia-smi显示的是支持的最高的cuda版本,是向下兼容的 nvcc -V :是指实际安装的cuda toolkit 必须小于等于driver API支持的最高版本。 非常感谢这篇博客,没有它我一天都卸载不了

    2024年02月12日
    浏览(43)
  • nvidia/cuda doker容器使用nvidia-smi不能找到命令

    参考资料 NVIDIA官方安装文档 CSDN博客 运行环境 wsl子系统Ubuntu 20.04 docker19.03以上 问题:使用docker pull nvidia/cuda:11.4.2-cudnn8-runtime-rockylinux8 在容器中使用nVidia-smi 出现命令无法找到的问题 百度好久,看了几篇文章,最后发现运行cuda的容器不支持调用主机的显卡,需要下载nvidia-

    2023年04月08日
    浏览(47)
  • 矩池云上使用nvidia-smi命令教程

    nvidia-smi全称是NVIDIA System Management Interface ,它是一个基于NVIDIA Management Library(NVML)构建的命令行实用工具,旨在帮助管理和监控NVIDIA GPU设备。 接下来我介绍一下,用nvidia-smi命令来查询机器GPU使用情况的相关内容。​ 我以上图的查询内容为例,已经复制出来了,如下, 我们来

    2024年02月16日
    浏览(46)
  • Ubuntu下nvidia-smi失败,使用dkms解决

    nvidia-smi显示无法与驱动通讯 一般来说是因为机器重启linux内核自动更新导致,可以尝试回退内核版本,或者使用dkms安装该内核下驱动配套的包,这里主要介绍使用dkms如何处理 查看已安装的nvidia驱动版本 显示 说明我电脑上nvidia驱动的版本是nvidia-525.116.04 安装dkms和相关包 安

    2024年02月13日
    浏览(38)
  • 【已解决】nvidia-smi不显示正在使用GPU的进程

    环境: 远程服务器Ubuntu20.04 CUDA 11.6 现象:在日志文件和终端均显示Python脚本已使用了GPU 但是 nvidia-smi 中的 Processes 进程无显示 首先,可以看到 GPU显存被占用,换言之有实例在正常使用GPU,表明不是硬件、显卡驱动等问题。 检查Pytorch是否正确配置 证明也不是Pytorch的问题 接

    2024年01月25日
    浏览(56)
  • Linux中使用nvidia-smi命令实时查看指定GPU使用情况

    参考:使用watch和nvidia-smi命令实时查看GPU使用、显存占用情况 nvidia-smi :可以查看显卡的型号、驱动版本、显卡目前温度、显存已使用及剩余、正使用显卡的所有进程及占用显存等信息; watch -n 5 nvidia-smi :5代表每隔5秒刷新一次GPU使用情况,同理,每隔1秒刷新,则使用:w

    2024年01月22日
    浏览(53)
  • 没有NVIDIA控制面板,在cmd中使用nvidia-smi命令不显示CUDA Version的解决方案

    Environment_set 没有NVIDIA控制面板,在cmd中使用nvidia-smi命令不显示CUDA Version 先在控制面板中查看是否被隐藏了,查看方式选择:小图标 这里若没有NVIDIA控制面板,而NVIDIA驱动已安装,则可能是缺少组件:NVIDIA control panel,可以单独下载,推荐更新NVIDIA驱动,直接安装适合本电脑

    2024年02月06日
    浏览(51)
  • nvidia-smi报错(已解决):NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 原因分析

    基本是follow下面教程修复的 nvidia-smi报错:NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver 原因及避坑解决方案_打拳的土豆的博客-CSDN博客 1 背景分析: 可能是由于断电重启造成的 当再次跑实验时,发现cuda不可用,于是输入“nvidia-smi”才发现了一个错误,如下:

    2024年02月09日
    浏览(87)
  • 一次必搞定Ubuntu上安装nvidia驱动教程--nvidia-smi

    Nvidia官网 (https://www.nvidia.cn/) Nvidia驱动下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn NVIDIA显卡驱动可以通过如下指令删除以前安装的NVIDIA驱动版本,重新安装。 注意!在安装NVIDIA驱动以前需要禁止系统自带显卡驱动nouveau:可以先通过指令lsmod | grep nouveau查看nouveau驱动的启

    2024年02月17日
    浏览(41)
  • 【已解决】nvidia-smi报错:NVIDIA-SMI has failed because it couldn’t communicate with the ... 阿里云GPU服务器

    如题,起因是在阿里云GPU服务器上,使用原先正常运行的镜像生成了容器,但容器的显卡驱动出问题了,使用nvidia-smi命令会报错 NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver. 尝试使用官网.run文件重新安装显卡驱动会报错ERROR: Unable to load the kernel module ‘nvidia

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包