You need to enable JavaScript to run this app.
导航

如何重置GPU?

最近更新时间2023.06.27 19:32:45

首次发布时间2023.06.13 14:27:33

操作场景

重置GPU可用于清除GPU硬件和软件状态,当GPU实例发生Xid错误或双位ECC错误时,重置GPU是有效的处理方式,有关Xid和ECC的错误详情及处理建议请参见如何判断和处理GPU硬件相关故障

注意

GPU重置操作不能保证在所有情况下都有效,应谨慎使用。

操作步骤

  1. 终止GPU使用进程。
    1. 终止所有使用GPU的应用程序。
      1. 执行nvidia-smi命令查询GPU使用进程,若回显如下,表示Python程序正在使用GPU 0和GPU 1,两者都需要终止。
        $ nvidia-smi
        ...
        +---------------------------------------------------------------------+
        | Processes:                                               GPU Memory |
        |  GPU       PID   Type   Process name                     Usage      |
        |=====================================================================|
        |    0      8962      C   python                             15465MiB |
        |    1      8963      C   python                             15467MiB |
        +---------------------------------------------------------------------+
        
      2. 执行kill -9 <PID>命令终止进程。

        使用kill -9命令会强制终止进程,包括正在执行的任务和未保存的数据。这可能会导致数据丢失、文件损坏或系统崩溃等风险。因此,建议仅在必要情况下使用kill -9命令,并尽可能先尝试使用其他方法终止进程,比如进程的管理工具:systemctl、docker等。

      3. 结果验证。
        执行nvidia-smi命令,若返回“No running processes found”,表明已终止所有进程。
    2. 终止使用GPU的驱动程序。

      在Linux系统上,某些基础设施软件会使GPU保持使用状态并防止GPU被驱动程序分离。比如:nvidia-persistenced、nvidia-docker Version 1和Nvidia-docker Version 2(不需要终止)。

      1. 执行lsof命令打开使用驱动程序的进程列表。
        sudo lsof /dev/nvidia*
        若回显如下,表示存在nvidia-persistenced进程。
        $ sudo lsof /dev/nvidia*
        COMMAND   PID                USER   FD   TYPE  DEVICE NODE NAME
        nvidia-pe 941 nvidia-persistenced    2u   CHR 195,255  453 /dev/nvidiactl
        nvidia-pe 941 nvidia-persistenced    3u   CHR   195,0  454 /dev/nvidia0
        nvidia-pe 941 nvidia-persistenced    4u   CHR 195,254  607 /dev/nvidia-modeset
        nvidia-pe 941 nvidia-persistenced    5u   CHR   195,1  584 /dev/nvidia1
        nvidia-pe 941 nvidia-persistenced    6u   CHR 195,254  607 /dev/nvidia-modeset
        
      2. 执行如下命令终止nvidia-persistenced相关进程。
        sudo service nvidia-persistenced stop
      3. 结果验证。
        执行sudo lsof /dev/nvidia*命令,若未返回任何条目,表示已终止所有进程。
  2. 执行如下命令,重置GPU。
    nvidia-smi -r
    alt