Navigation

    Gpushare.com

    • Register
    • Login
    • Search
    • Popular
    • Categories
    • Recent
    • Tags

    【小技巧-显卡篇】如何查看显卡占用的情况?

    新手教程
    1
    1
    255
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Alice_恒源云
      Alice_恒源云 last edited by Alice_恒源云

      1、如何看显卡占用的情况?

      通过终端执行 nvidia-smi 命令可以查看显卡的情况,可以查看显卡功耗、显存占用等情况。

      root@I15b96311d0280127d:~# nvidia-smi
      Mon Jan 11 13:42:18 2021
      +-----------------------------------------------------------------------------+
      | NVIDIA-SMI 460.27.04    Driver Version: 460.27.04    CUDA Version: 11.2     |
      |-------------------------------+----------------------+----------------------+
      | 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  GeForce RTX 3090    On   | 00000000:02:00.0 Off |                  N/A |
      | 63%   55C    P2   298W / 370W |  23997MiB / 24268MiB |     62%      Default |
      |                               |                      |                  N/A |
      +-------------------------------+----------------------+----------------------+
      
      +-----------------------------------------------------------------------------+
      | Processes:                                                                  |
      |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
      |        ID   ID                                                   Usage      |
      |=============================================================================|
      +-----------------------------------------------------------------------------
      

      因为实例均为 Docker 容器,因容器 PID 隔离的限制使用 nvidia-smi 会看不到进程。

      在终端中执行 py3smi 命令可以查看到是否有进程正在使用显卡。

      root@I15b96311d0280127d:~# py3smi
      Mon Jan 11 13:43:00 2021
      +-----------------------------------------------------------------------------+
      | NVIDIA-SMI                        Driver Version: 460.27.04                 |
      +---------------------------------+---------------------+---------------------+
      | GPU Fan  Temp Perf Pwr:Usage/Cap|        Memory-Usage | GPU-Util Compute M. |
      +=================================+=====================+=====================+
      |   0 63%   55C    2  284W / 370W | 23997MiB / 24268MiB |      80%    Default |
      +---------------------------------+---------------------+---------------------+
      
      +-----------------------------------------------------------------------------+
      | Processes:                                                       GPU Memory |
      | GPU        Owner      PID      Uptime  Process Name                   Usage |
      +=============================================================================+
      |   0          ???    10494                                          23995MiB |
      +-----------------------------------------------------------------------------+
      

      2、训练时 GPU 利用率上不去?

      在训练过程中查看显卡的使用率,发现核心利用率和显卡功耗低,没有完全利用显卡。

      这种情况有可能是每一次训练的步骤中,除了使用 GPU 外,还有大部分时间消耗在了 CPU,造成了 GPU 利用率成周期变化。

      解决利用率的问题需要改进代码,可以参考夕小瑶的 训练效率低?GPU利用率上不去? 的这篇文章。

      3、CUDA、CUDNN 版本是多少?

      使用 nvidia-smi 所查看到的 CUDA Version 为当前驱动支持的版本,不代表实例已安装的版本。

      具体版本以创建实例时选择的官方镜像版本的为准。

      # 查看 CUDA 版本
      root@I15b96311d0280127d:~# nvcc -V
      nvcc: NVIDIA (R) Cuda compiler driver
      Copyright (c) 2005-2021 NVIDIA Corporation
      Built on Sun_Feb_14_21:12:58_PST_2021
      Cuda compilation tools, release 11.2, V11.2.152
      Build cuda_11.2.r11.2/compiler.29618528_0
      
      # 查看 CUDNN 版本
      root@I15b96311d0280127d:~# dpkg -l | grep libcudnn | awk '{print $2}'
      libcudnn8
      libcudnn8-dev
      
      # 查看 CUDNN 位置
      root@I15b96311d0280127d:~# dpkg -L libcudnn8 | grep so
      /usr/lib/x86_64-linux-gnu/libcudnn.so.8.1.1
      ...
      

      4、在 RTX 30 系列显卡上开始训练会卡住?

      查看库所使用的 CUDA 版本是否低于 11.0。

      RTX 3000 系列显卡最低要求 CUDA 11 及以上的版本,使用低于 11 的版本会造成进程卡住。

      1 Reply Last reply Reply Quote 1
      • First post
        Last post