【深度学习】nvidia-smi 各参数意义

news2024/10/6 0:30:36

文章目录

  • 前言
  • 1.重点概念解析
  • 2.限制GPU显卡功率


前言

一个服务器遇到问题了,GPU Fan 和 Perf 两个都是err。之前没遇到这个问题,所以这次机会要搞搞清楚。每个参数都是在干事,能够收到哪些hint,如何查问题。

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
Fri Apr 14 16:52:54 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.63.01    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| 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:0B:00.0 Off |                  N/A |
|ERR!   52C    P2   ERR! / 260W |      0MiB / 11019MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

表头释义:
Driver Version:显卡驱动版本号
CUDA Version:CUDA版本号
GPU Name:显卡名称
Persistence-M:是否支持持久性内存(Persistence-M是一种用于保存显卡驱动状态的特殊内存类型。如果启用了持久性内存,那么在显卡重启或掉电后,内存上的信息仍将保存下来。这种内存类型通常用于保存模型的长期数据,以便在不需要重新加载的情况下加速显卡操作。)
Bus-Id:显卡的总线ID(Bus-Id是显卡的总线ID,是该显卡在主板上的唯一标识。它是一个数字字符串,用于标识显卡在总线系统中的位置,方便系统识别和管理。每个显卡都有一个不同的总线ID,用于防止显卡混淆,以及为显卡提供管理和配置信息。)
Disp.A:显卡的显示状态(是否启用)(Disp.A是Display Active的缩写,表示是否有显示器激活,如果有显示器激活,则会显示Yes,否则显示No。显示器激活指的是在电脑系统中打开或使用外接的显示器,使其可以正常显示画面。)
Volatile Uncorr. ECC:是否启用显存错误校正(如果未启用则为0)(Volatile Uncorr. ECC——Volatile Uncorrectable Error Correction and Detection (VUECC):是一种可变不可修正的错误校验与纠正(ECC)技术,它旨在在计算机存储器中检测和纠正位错误。它使用了特殊的硬件来监控计算机内部数据,并在发现任何差错时通过可靠的方法自动纠正它们。)
Fan:风扇的速度(N/A表示不支持)
Temp:显卡的温度(单位为°C)
Perf:显卡性能状态(P0表示最高性能)(Performance是一种性能指标,用于衡量计算机系统的性能。它可以测量内存带宽、CPU时钟速度、GPU处理器指令集等。)
Pwr:Usage/Cap:显卡功耗使用情况/功耗容量(单位为W)(Power Usage/Capacity)
Memory-Usage:显存使用情况
GPU-Util:显卡利用率(Graphics Processor Unit Utilization)(Memory-Usage指的是设备内存占用情况,它表示当前系统正在使用的内存量。GPU-Util指的是图形处理器的利用率,这个数值表示GPU正在处理的任务的比例,以及它的性能。)
Compute M.:显卡计算模式(Compute M是一种用于测量GPU计算性能的衡量标准。它主要有三种类型:GFLOPS,TMUs和ROPs。GFLOPS代表每秒可以执行的浮点运算次数,TMU(纹理映射单元)可以每秒处理的纹理块数,而ROPs(渲染输出单元)可以每秒进行的像素写入操作次数。)(Default指的是GFLOPS,它用于衡量GPU的浮点计算能力。)

1.重点概念解析

Memory-Usage和Volatile GPU-Util是两个不一样的东西,显卡由GPU和显存等部分所构成,GPU相当于显卡上的CPU,显存相当于显卡上的内存。在跑任务的过程中可以通过优化代码来提高这两者的使用率。​
Memory Usage:显存的使用率;
Volatile GPU-Util:浮动的GPU利用率;
Memory-Usage 和 GPU-Util 均是 nvidia-smi 命令中列出的 GPU 设备状态信息。

Memory-Usage(显存使用情况)表示已经分配给进程的显存数量,通常以 MiB 或 GB 为单位。这个值可以帮助我们了解当前GPU设备的内存使用情况,以及每个进程正在使用的内存量。如果显存使用率过高,可能会导致程序崩溃或性能下降。因此,在优化深度学习训练时,需要根据显存使用情况对模型大小、批次大小等超参数进行调整。

GPU-Util(GPU使用率)表示 GPU 核心部件的使用率,表示正在执行计算任务的时间占比。例如,如果 GPU-Util 的值为 50%,那么 GPU 核心部件在运行期间有一半的时间用于执行计算任务。这个值可以帮助我们了解 GPU 核心部件的负载情况,并确定是否存在性能瓶颈。当 GPU-Util 的值接近 100% 时,意味着 GPU 正在全力工作,而进一步提高性能的唯一方法就是使用更多的 GPU 设备或者优化算法。

如果要周期性的输出显卡的使用情况,可以用watch指令实现:

watch -n 10 nvidia-smi
nvidia-smi dmon
 
# gpu   pwr gtemp mtemp    sm   mem   enc   dec  mclk  pclk
# Idx     W     C     C     %     %     %     %   MHz   MHz
    0    43    35     -     0     0     0     0  2505  1075
    1    42    31     -    97     9     0     0  2505  1075
(in this example, one GPU is idle and one GPU has 97% of the CUDA sm "cores" in use

nvidia-smi dmon命令用于监视NVIDIA GPU设备上的显卡性能统计信息,包括功率、温度、GPU使用率和内存使用情况等。以下是nvidia-smi dmon命令输出的详细解释:

gpu:GPU设备的索引。

pwr:GPU芯片上电源使用功率(单位为瓦特,W)。

gtemp:GPU温度(Celsius,摄氏度)。

mtemp:内存温度(Celsius,摄氏度)。

sm:CUDA核心中正在使用的流多处理器(SM)百分比。

mem:显存使用率。

enc:编码器利用率。

dec:解码器利用率。

mclk:显存时钟速率(MHz)。

pclk:图形时钟速率(MHz)。

在以上示例中,我们看到有两个GPU设备(索引为0和1),每个设备都列出了功率、温度、流多处理器(SM)利用率、显存使用率和时钟速率等性能指标信息。

值得注意的是,这个命令只显示实时的性能数据,因此需要不断刷新才能查看最新数据。可以使用以下命令来持续刷新数据:

nvidia-smi dmon -s u -d 1

其中,“-s”参数表示刷新数据的时间间隔(单位为秒),“-d”参数表示在哪个GPU设备上监视数据。这样,就可以实时监视GPU设备的性能指标,并及时发现潜在问题。

2.限制GPU显卡功率

使用命令:

nvidia-smi -pm 1 
nvidia-smi -pl 要限制的功率

未设置前:默认功率为最大功率,以2080Ti为例,功率为250W

在这里插入图片描述
设置后:最大功率限制在了100W

在这里插入图片描述
注意:如果系统重启后,限制设置就会失效,需要重新设置,或设置开机自动设置脚本
RTX2080用户手册:https://manuals.plus/wp-content/sideloads/nvidia-geforce-rtx-2080-graphics-card-manual-optimized.pdf
安装cuda官网指引:https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#recommended-post

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/426110.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

充电桩测试设备TK4860C交流充电桩检定装置

TK4860C是一款在交流充电桩充电过程中实时检测充电电量的充电桩测试标准仪器,仪器以新能源车为负载,结合宽动态范围测量技术、电能ms级高速刷新等技术,实现充电全过程的累积电能精准计量,相比于传统的预设检定点的稳态计量&#x…

攻防世界Web_php_include

php文件包含题 启动场景 进行代码审计: 对get类型参数进行循环过滤字符串php://,所以考虑其他伪协议,伪协议详见PHP伪协议详解_Snakin_ya的博客-CSDN博客 show_source() 函数 str_replace() 函数 strstr() 函数 方法一 使用data协议 da…

Linux服务使用宝塔面板搭建网站,并发布公网访问 - 内网穿透

文章目录前言1. 环境安装2. 安装cpolar内网穿透3. 内网穿透4. 固定http地址5. 配置二级子域名6. 创建一个测试页面转载自远程内网穿透的文章:Linux使用宝塔面板搭建网站,并内网穿透实现公网访问 前言 宝塔面板作为简单好用的服务器运维管理面板&#xf…

淘宝模拟登录 +淘宝商品详情数据、淘宝商品列表数据爬取

PYTHON环境: * requests库 * time库 * re库 实现思路: * 检查此账号需不需要验证(滑动验证/验证码) * 浏览器/工具 获取ua和加密后的密码(一劳永逸的方法) * post请求登录url获取st申请url * 根据获得的st申请地址获取st…

Session详解(重点)

类似于去服务器注册账号,只要服务器不停机,自己注册的账号一直会存在服务器。 什么是Session: 1.服务器会给每一个用户(浏览器)创建一个对象; 2.一个Session独占一个浏览器,只要浏览器没有关…

如何高效清洗数据?试试这款神器

在大数据时代,数据的来源具有多样性、复杂性。 针对数量庞大、渠道及格式多样的数据,数据清洗就成为刚需。 在数据分析中,数据清洗实际上是十分繁重且关键的一步。 Power Query作为数据清洗的工具,能将这些多源的数据集中并统一…

优化城市布局:地下管网解决方案的应用

城市地下管网是城市基础设施中非常重要的一部分,包括排水系统、供水系统、天然气管道、电缆管道等多种管网。然而,城市地下管网也是一个复杂而庞大的系统,由于年久失修和规划不当等原因,经常出现漏水、爆炸、停电等问题&#xff0…

【Unity入门】10.物体的运动

【Unity入门】物体的运动 大家好,我是Lampard~~ 欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)用脚本驱动物体移动 (1)制作一台运动的小车 回顾上一篇文章,我们已经可以用脚本…

Allegro thermal relief热风焊盘

为了画个通孔焊盘,看了很久的 Thermal relief相关的内容,终于基本上理解了。记录一下。 这篇文章讲得非常清楚: 深入理解Allegro之Thermal Relief与Anti Pad - 百度文库 (baidu.com) 热风焊盘般用在内层,减少一些焊盘和铜皮的连…

某vm样本的分析

背景 驱动那块(MiDeadPteTrackerSListHead) 从遥远的东方收到的一个样本,好嘛!打开之后一直不停的在创建和结束进程,又是vmp。 还是老方法,dmp下来之后看看,好嘛,main函数被vm了&am…

大数据技术之Hive

第1章Hive基本概念1.1 Hive1.1.1 Hive的产生背景在那一年的大数据开源社区,我们有了HDFS来存储海量数据、MapReduce来对海量数据进行分布式并行计算、Yarn来实现资源管理和作业调度。但是面对海量数据和负责的业务逻辑,开发人员要编写MR来对数据进行统计…

stm32学习第四天

DMA1:各个通道一览 DMA2:各个通道一览 1.stm32DMA相关固件库函数说明 第一个参数选择哪一个DMA的哪一个通道 初始化函数 void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct); typedef struct {uint32_t DMA_Periph…

Vue项目中关于全局css的处理

Vue项目中关于全局css的处理步骤一:定义声明全局CSS的样式文件(common.scss)步骤二:挂载到全局封装一:对common.scss拆分封装二:新建index.scss,对elementPlus或者element-ui样式进行覆盖封装三:variable.s…

一、ts学习第一课:环境配置

一、下载node 官网:Node.jsNode.js is a JavaScript runtime built on Chromes V8 JavaScript engine.https://nodejs.org/en 推荐下载左侧稳点版的node,下载好了,就一步步点击安装就ok了。 判断是否已经下载好了node,在命令行…

BIO和NIO的区别与实现

目录 目标 概述 实战 单线程版本的BIO 多线程版本的BIO 单线程NIO(简易版) 单线程NIO(多路复用版) 客户端发送数据的方法 目标 了解BIO和NIO的区别和应用场景。分析BIO和NIO的线程模型,利用Socket实现BIO和NI…

pytorch 笔记

1.python文件、python控制台Terminal、jupyter代码执行比较 2.Dataset和Dataloader dataset存储数据集,dataloader从数据集中批量加载数据,如 把 dataset 放入 DataLoaderloader Data.DataLoader(datasettorch_dataset, # torch TensorDataset forma…

MIPI D-PHYv2.5笔记(17) -- Global Operation Flow Diagram、数据速率依赖参数

声明:作者是做嵌入式软件开发的,并非专业的硬件设计人员,笔记内容根据自己的经验和对协议的理解输出,肯定存在有些理解和翻译不到位的地方,有疑问请参考原始规范看 Global Operation Flow Diagram 图1 Data Lane Mod…

【Linux】线程概念详析

我们已经了解了Linux操作系统进程部分相关知识: 博主有关Linux进程相关介绍的文章: 💥[Linux] 系统进程相关概念、系统调用、Linux进程详析、进程查看、fork()初识 💥[Linux] 进程状态相关概念、Linux实际进程状态、进程优先级 …

【超算/先进计算学习】日报1

目录今日已完成任务列表遇到的问题及解决方案任务完成详细笔记Darknet框架优化介绍darknet介绍YOLO高性能计算与超级计算机简介算力超级计算机概念与体系结构并行编程技术Linux常用操作命令Linux操作系统与指令使用机器信息查询文件、目录和权限文件内容查看环境变量使用对自己…

15.枚举

枚举 枚举是Java1.5引入的新特性,通过关键字enum来定义枚举类。枚举类是一种特殊类,它和普通类一样可以使用构造方法、定义成员变量和方法,也能实现接口,但枚举类不能继承其他类。枚举是一个被命名的整型常数的集合,用于声明一组…