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

本文介绍了GPU服务器遇到的问题,包括GPUFan和Perf报错。文章详细解析了NVIDIA-SMI输出的各项参数,如显存使用率、GPU利用率、显卡温度和功率使用情况,并提供了`nvidia-smi`和`nvidia-smidmon`命令来监控GPU状态。此外,还阐述了如何通过`nvidia-smipm`限制GPU功率,并提到了设置限制可能需要在每次启动时重置的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

一个服务器遇到问题了,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
一个不错的排查指引:https://leiblog.wang/%E8%B8%A9%E5%9D%91nvidia-driver/

<think>好的,我现在需要帮助用户解决如何使用nvidia-smi的问题。首先,用户提到了参考引用[1]和[2],这些内容应该包含关于nvidia-smi的基本使用方法和驱动安装的问题。 首先,我需要确认用户的需求。用户想了解如何查看nvidia-smi的信息或用法,可能包括基本命令、参数解释以及常见问题处理。根据引用[1],nvidia-smi是用于监控和管理NVIDIA GPU的工具,常用于深度学习和计算任务。引用[2]提到了在Ubuntu下安装和切换驱动的问题,特别是当出现无法与驱动通信时的解决方法。 接下来,我应该分步骤回答。第一步是确保驱动正确安装,这是使用nvidia-smi的前提。根据引用[2],如果出现NVIDIA-SMI has failed的提示,可能需要切换驱动到专有版本,使用prime-select命令。然后,介绍基本命令,如直接运行nvidia-smi,并解释输出中的各个指标,比如GPU利用率、显存使用、温度等,这些信息在引用[1]中应该有所涉及。 还需要包括常用参数,比如-l或--loop,用于周期刷新信息,-q或--query显示详细信息,-i指定GPU索引等。这些参数帮助用户更灵活地监控GPU状态。此外,用户可能遇到驱动未安装或未切换的问题,需要根据引用[2]中的步骤,检查驱动状态并进行切换。 最后,生成相关问题,覆盖安装、输出解读、常见错误和监控方法,这样用户可以进一步探索相关主题。要确保回答结构清晰,步骤明确,并正确引用提供的资料,比如在驱动检查和切换部分添加引用标识。同时,按照系统指令,数学公式用$...$,但这里可能不涉及数学内容,所以主要注意格式和引用即可。</think>### 如何使用 `nvidia-smi` 查看 GPU 信息 `nvidia-smi` 是 NVIDIA 提供的命令行工具,用于监控和管理 GPU 状态,支持查看显存占用、GPU 利用率、温度等关键指标。以下是详细使用方法: --- #### 1. **基础命令** 直接输入以下命令查看 GPU 的实时状态: ```bash nvidia-smi ``` 输出示例如下: ``` +-----------------------------------------------------------------------------+ | NVIDIA-SMI 535.54.03 Driver Version: 535.54.03 CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+ | 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 RTX 4090 On | 00000000:01:00.0 Off | Off | | 30% 45C P8 20W / 450W| 100MiB / 24564MiB | 0% Default | +-------------------------------+----------------------+----------------------+ ``` - **GPU 利用率(GPU-Util)**:显示当前 GPU 计算核心的占用率(0% 表示空闲) - **显存占用(Memory-Usage)**:已用显存和总显存容量 - **温度(Temp)**:GPU 核心温度 - **电源(Pwr:Usage/Cap)**:当前功耗与最大功耗 --- #### 2. **常用参数** - **周期性刷新**:每隔 2 秒刷新一次(可通过数字调整间隔) ```bash nvidia-smi -l 2 ``` - **显示详细信息**:查看 GPU 的完整配置和运行状态 ```bash nvidia-smi -q ``` - **指定 GPU 设备**:多 GPU 时选择特定设备(例如索引为 0 的 GPU) ```bash nvidia-smi -i 0 ``` --- #### 3. **常见问题解决** - **问题 1:`NVIDIA-SMI has failed`** 若出现此错误,表明驱动未正确安装或未切换到 NVIDIA 专有驱动[^2]。 **解决方法**: ```bash sudo prime-select nvidia # 切换为 NVIDIA 专有驱动 sudo reboot # 重启生效 ``` 检查驱动状态: ```bash prime-select query # 输出应为 "nvidia" ``` - **问题 2:显存占用高但 GPU 利用率低** 通常由显存未释放的进程导致,可通过以下命令终止所有 GPU 进程: ```bash sudo fuser -v /dev/nvidia* # 查看占用进程 kill -9 <PID> # 强制终止进程 ``` --- #### 4. **进阶用法** - **结合 `watch` 实时监控**: ```bash watch -n 1 nvidia-smi # 每秒刷新一次 ``` - **生成日志文件**: ```bash nvidia-smi -l 1 --format=csv --log-file=gpu_log.csv ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值