深度学习烦人的基础知识(2)---Nvidia-smi功率低,util高---nvidia_smi参数详解

2024-01-14 07:04

本文主要是介绍深度学习烦人的基础知识(2)---Nvidia-smi功率低,util高---nvidia_smi参数详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 问题
    • 现象解释
    • 解决方案
  • 磨刀不误砍柴工--nvidia-smi参数解读

问题

如下图所示,GPU功率很低,Util占用率高。这个训练时不正常的!
在这里插入图片描述

现象解释

Pwr是指GPU运行时耗电情况,如图中GPU满载是300W,目前是86W与GPU2的空载情况功率相等。说明GPU没有在真正运行。

GPU-Util高说明它的核心被占用了,占用率为100%。

打个比方,把GPU看做是人。三个人,一个在举重,一个人在跑步,一个人在走路。他们都在运动,都是忙碌的,也就是GPU-Util占用高。但是很显然举重的,对外做功高,跑步的做功低,走路的最差,也就是GPU的耗电情况。详细此述

结论:像是这种情况,说明GPU被占用了,但是没有实际工作,也就是人员到位了,在等活干,很有可能是进程等待问题,或者进程锁死了

解决方案

  1. 定位问题,方法很多,比如:打印输出,看程序卡死在哪步,即可定位。
  2. 网上找解决方案。
  3. 如果是在运行多卡训练,容易卡死的地方有:

磨刀不误砍柴工–nvidia-smi参数解读

如下所示,其表格中,有这么多参数,且参数名与值的其位置是一一对应的。我用不同颜色进行标识,同一种颜色的方框和箭头,标识出参数名和其值的位置关系。
在这里插入图片描述

参数名含义例子
GPU显卡的本地设备号,对应值为0,1,2,3…几块显卡就有几个数
Name显卡型号名
Persistence-MPersistence-M是一种显卡运行模式,值为on或off,代表是否开或关
Fan与散热风扇转数有关,用百分数显示,越高说明转数越高
tempGPU核心温度,过热就有危险了,显卡要烧坏了,单位是摄氏度,如45C就是45度
Perf
Pwr:Usage/CapGPU目前耗电多少瓦,Cap是额定功率,Usage表示当前功率,86W/300W表示满载300W,目前86W
Bus-ID显卡总线的ID,总线是用来传输数据和指令的,是显卡与CPU,内存等硬件传输数据的线路
Disp.A不知道
Memory-Usage显存占用情况,大家都知道,不说了
GPU-UtilGPU中计算核心目前的占用率

在这里插入图片描述

这篇关于深度学习烦人的基础知识(2)---Nvidia-smi功率低,util高---nvidia_smi参数详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/604309

相关文章

Redis实现延迟任务的三种方法详解

《Redis实现延迟任务的三种方法详解》延迟任务(DelayedTask)是指在未来的某个时间点,执行相应的任务,本文为大家整理了三种常见的实现方法,感兴趣的小伙伴可以参考一下... 目录1.前言2.Redis如何实现延迟任务3.代码实现3.1. 过期键通知事件实现3.2. 使用ZSet实现延迟任务3.3

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

Python Faker库基本用法详解

《PythonFaker库基本用法详解》Faker是一个非常强大的库,适用于生成各种类型的伪随机数据,可以帮助开发者在测试、数据生成、或其他需要随机数据的场景中提高效率,本文给大家介绍PythonF... 目录安装基本用法主要功能示例代码语言和地区生成多条假数据自定义字段小结Faker 是一个 python

SpringBoot利用@Validated注解优雅实现参数校验

《SpringBoot利用@Validated注解优雅实现参数校验》在开发Web应用时,用户输入的合法性校验是保障系统稳定性的基础,​SpringBoot的@Validated注解提供了一种更优雅的解... 目录​一、为什么需要参数校验二、Validated 的核心用法​1. 基础校验2. php分组校验3

Java Predicate接口定义详解

《JavaPredicate接口定义详解》Predicate是Java中的一个函数式接口,它代表一个判断逻辑,接收一个输入参数,返回一个布尔值,:本文主要介绍JavaPredicate接口的定义... 目录Java Predicate接口Java lamda表达式 Predicate<T>、BiFuncti

详解如何通过Python批量转换图片为PDF

《详解如何通过Python批量转换图片为PDF》:本文主要介绍如何基于Python+Tkinter开发的图片批量转PDF工具,可以支持批量添加图片,拖拽等操作,感兴趣的小伙伴可以参考一下... 目录1. 概述2. 功能亮点2.1 主要功能2.2 界面设计3. 使用指南3.1 运行环境3.2 使用步骤4. 核

一文详解JavaScript中的fetch方法

《一文详解JavaScript中的fetch方法》fetch函数是一个用于在JavaScript中执行HTTP请求的现代API,它提供了一种更简洁、更强大的方式来处理网络请求,:本文主要介绍Jav... 目录前言什么是 fetch 方法基本语法简单的 GET 请求示例代码解释发送 POST 请求示例代码解释

详解nginx 中location和 proxy_pass的匹配规则

《详解nginx中location和proxy_pass的匹配规则》location是Nginx中用来匹配客户端请求URI的指令,决定如何处理特定路径的请求,它定义了请求的路由规则,后续的配置(如... 目录location 的作用语法示例:location /www.chinasem.cntestproxy

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

Python基础文件操作方法超详细讲解(详解版)

《Python基础文件操作方法超详细讲解(详解版)》文件就是操作系统为用户或应用程序提供的一个读写硬盘的虚拟单位,文件的核心操作就是读和写,:本文主要介绍Python基础文件操作方法超详细讲解的相... 目录一、文件操作1. 文件打开与关闭1.1 打开文件1.2 关闭文件2. 访问模式及说明二、文件读写1.