0


【Linux】监控NVIDIA GPU显卡占用状态的命令

文章目录

在Linux系统中,监控NVIDIA GPU显卡的占用状态对于数据科学家、AI研究人员以及需要进行图形密集型计算的用户来说是非常重要的。了解GPU的实时状态不仅可以帮助优化资源使用,还能提高计算任务的效率和性能。本文将介绍几个用于监控NVIDIA GPU显卡占用状态的命令,帮助用户更好地掌握GPU的使用情况。

NVIDIA提供了一些强大而易用的工具,可以让用户在命令行界面中轻松查看GPU的状态和性能指标。以下是一些常用的监控命令:

一、nvidia-smi

nvidia-smi 是NVIDIA提供的一个命令行工具,用于监控和管理安装在系统中的NVIDIA GPU。它可以显示GPU的实时状态和性能数据,包括GPU利用率、显存使用情况、温度、电源状态等详细信息。nvidia-smi是每个使用NVIDIA GPU的开发者和系统管理员的必备工具。下面是对nvidia-smi的详细介绍。

首先,确保系统中已经安装了NVIDIA驱动程序和CUDA工具包。nvidia-smi通常随驱动程序一起安装。如果你已经安装了NVIDIA驱动程序,可以通过以下命令检查nvidia-smi是否可用:

nvidia-smi

执行该命令后,你将看到类似于以下的输出:

root@06697c6452a8:~/workspace/wangzk# nvidia-smi
Mon May 2018:21:212024+---------------------------------------------------------------------------------------+| NVIDIA-SMI 545.29.06              Driver Version:545.29.06    CUDA Version:12.3||-----------------------------------------+----------------------+----------------------+| 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 RTX 2080 Ti     Off |00000000:02:00.0 Off |                  N/A ||33%   26C    P8              13W / 250W |   2242MiB / 11264MiB |0%      Default ||||                  N/A |+-----------------------------------------+----------------------+----------------------+|1  NVIDIA GeForce RTX 2080 Ti     Off |00000000:03:00.0 Off |                  N/A ||35%   26C    P8               4W / 250W |     10MiB / 11264MiB |0%      Default ||||                  N/A |+-----------------------------------------+----------------------+----------------------+|2  NVIDIA GeForce RTX 2080 Ti     Off |00000000:82:00.0 Off |                  N/A ||35%   26C    P8               8W / 250W |     10MiB / 11264MiB |0%      Default ||||                  N/A |+-----------------------------------------+----------------------+----------------------+|3  NVIDIA GeForce RTX 2080 Ti     Off |00000000:83:00.0 Off |                  N/A ||35%   26C    P8              10W / 250W |     10MiB / 11264MiB |0%      Default ||||                  N/A |+-----------------------------------------+----------------------+----------------------++---------------------------------------------------------------------------------------+| Processes:||  GPU   GI   CI        PID   Type   Process name                            GPU Memory ||        ID   ID                                                             Usage      ||=======================================================================================|+---------------------------------------------------------------------------------------+
nvidia-smi

的输出信息可以分为几个部分,每个部分提供了关于GPU的详细信息。下面是对每一列的详细解释。

顶部信息

NVIDIA-SMI 545.29.06              Driver Version: 545.29.06    CUDA Version: 12.3
  • NVIDIA-SMI: 显示nvidia-smi工具的版本号。
  • Driver Version: 显示当前安装的NVIDIA驱动程序版本号。
  • CUDA Version: 显示当前支持的CUDA版本号。

GPU详细信息

每个GPU的信息列被划分为几个部分。以第一个GPU为例:

| 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 RTX 2080 Ti     Off | 00000000:02:00.0 Off |                  N/A |
| 33%   26C    P8              13W / 250W |   2242MiB / 11264MiB |      0%      Default |
|                                         |                      |                  N/A |
GPU行
  • GPU: GPU编号,从0开始。
  • Name: GPU的名称。
  • Persistence-M: 持久模式状态,On表示开启,Off表示关闭。
Bus-Id行
  • Bus-Id: GPU所在的PCI总线ID。
  • Disp.A: GPU是否用于显示,On表示用于显示,Off表示不用于显示。
Volatile Uncorr. ECC行
  • Volatile Uncorr. ECC: 挥发性不可纠正错误率。如果GPU支持ECC(错误纠正码),这里会显示具体数据。
Fan行
  • Fan: 风扇速度,以百分比表示。
  • Temp: GPU温度,以摄氏度表示。
  • Perf: 性能状态,P0P12表示不同的性能级别,P0是最高性能,P12是最低性能。
  • Pwr:Usage/Cap: 当前功耗和最大功耗,以瓦特(W)为单位。
Memory-Usage行
  • Memory-Usage: 显存使用情况,显示为“已用显存 / 总显存”,单位为MiB。
GPU-Util行
  • GPU-Util: GPU利用率,以百分比表示。
  • Compute M.: 计算模式,Default表示默认模式。
MIG M.行
  • MIG M.: 多实例GPU模式状态。如果GPU支持MIG,这里会显示相关信息。

Processes部分

| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
+---------------------------------------------------------------------------------------+
  • GPU: 进程所在的GPU编号。
  • GI ID: GPU实例ID(仅适用于支持MIG的GPU)。
  • CI ID: 计算实例ID(仅适用于支持MIG的GPU)。
  • PID: 进程ID。
  • Type: 进程类型,如图形(Graphics)或计算(Compute)。
  • Process name: 进程名称。
  • GPU Memory Usage: 进程使用的GPU显存量。

总结

通过

nvidia-smi

的输出信息,可以全面了解系统中所有NVIDIA GPU的实时状态,包括硬件信息、使用情况、温度、功耗等。这对于监控GPU性能、优化资源使用、排查性能瓶颈等非常有用。

二、watch nvidia-smi

结合watch命令,可以定期刷新并显示GPU状态,便于实时监控。

watch

是一个常用的 Linux 命令,用于定期执行指定的命令并刷新输出。结合

nvidia-smi

命令使用,可以实时监控 NVIDIA GPU 的状态。以下是对

watch nvidia-smi

的详细介绍。

基本用法

在命令行中运行以下命令:

watch nvidia-smi

这将每隔两秒刷新一次

nvidia-smi

的输出,默认情况下,刷新间隔是两秒。

参数解释

  • watch: 用于定期运行指定命令的工具。
  • nvidia-smi: NVIDIA 提供的用于显示 GPU 状态的命令行工具。

常用选项

改变刷新间隔

默认情况下,

watch

每两秒刷新一次。可以使用

-n

选项来指定自定义的刷新间隔,例如每五秒刷新一次:

watch-n5 nvidia-smi
高亮变化的值

使用

-d

选项可以高亮显示自上次刷新以来发生变化的值,这对于监控变化特别有用:

watch-d nvidia-smi
组合使用选项

可以组合使用

-n

-d

选项,例如每五秒刷新一次并高亮显示变化的值:

watch-n5-d nvidia-smi

输出解释

watch nvidia-smi

的输出与单独运行

nvidia-smi

的输出相同,只是它会定期刷新。下面是一个示例输出:

在这里插入图片描述

使用场景

watch nvidia-smi

特别适用于以下场景:

  1. 实时监控 GPU 使用情况:- 可以持续监控 GPU 的利用率、显存使用、温度和功耗等参数,便于及时发现性能瓶颈和潜在问题。
  2. 调试和优化 GPU 应用:- 在运行深度学习训练或其他计算密集型任务时,可以实时观察 GPU 资源的使用情况,优化代码和配置以提高效率。
  3. 系统维护和故障排除:- 在进行系统维护或排除 GPU 相关故障时,可以实时获取 GPU 状态信息,快速定位问题。

示例

  1. 每秒刷新一次 GPU 状态并高亮变化watch-n1-d nvidia-smi
  2. 每十秒刷新一次 GPU 状态watch-n10 nvidia-smi

通过使用

watch nvidia-smi

,用户可以方便地实时监控和管理 NVIDIA GPU 的状态,有助于提高计算任务的效率和性能。

三、更美观的:nvitop

nvitop

是一个用于监控 NVIDIA GPU 使用情况的命令行工具,它提供了一个类似于

top

命令的实时视图,显示 GPU 的利用率、显存使用情况、温度、功耗等信息,以及在 GPU 上运行的进程。

nvitop

旨在为用户提供一个简洁且易于使用的界面来监控多个 GPU 的状态。

安装

在安装

nvitop

之前,确保你的系统已经安装了

pip

。你可以使用以下命令来安装

nvitop

pip install nvitop

在这里插入图片描述

基本用法

安装完成后,只需在命令行中运行以下命令即可启动

nvitop

nvitop

功能和选项

nvitop

提供了许多功能和选项,帮助用户更好地监控和管理 GPU 资源。

实时监控
nvitop

启动后,会显示所有检测到的 GPU 的实时状态。默认界面如下:

在这里插入图片描述


本文转载自: https://blog.csdn.net/wzk4869/article/details/139072182
版权归原作者 旅途中的宽~ 所有, 如有侵权,请联系我们删除。

“【Linux】监控NVIDIA GPU显卡占用状态的命令”的评论:

还没有评论