👉点击这里申请火山引擎VIP帐号,立即体验火山引擎产品>>>
操作场景
重置GPU可用于清除GPU硬件和软件状态,当GPU实例发生Xid错误或双位ECC错误时,重置GPU是有效的处理方式,有关Xid和ECC的错误详情及处理建议请参见如何判断和处理GPU硬件相关故障。
注意
GPU重置操作不能保证在所有情况下都有效,应谨慎使用。
操作步骤
终止GPU使用进程。
执行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
执行如下命令终止nvidia-persistenced相关进程。
sudo service nvidia-persistenced stop结果验证。
执行sudo lsof /dev/nvidia*命令,若未返回任何条目,表示已终止所有进程。执行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 | +---------------------------------------------------------------------+
执行kill -9 <PID>命令终止进程。
使用kill -9命令会强制终止进程,包括正在执行的任务和未保存的数据。这可能会导致数据丢失、文件损坏或系统崩溃等风险。因此,建议仅在必要情况下使用kill -9命令,并尽可能先尝试使用其他方法终止进程,比如进程的管理工具:systemctl、docker等。
结果验证。
执行nvidia-smi命令,若返回“No running processes found”,表明已终止所有进程。终止所有使用GPU的应用程序。
终止使用GPU的驱动程序。
在Linux系统上,某些基础设施软件会使GPU保持使用状态并防止GPU被驱动程序分离。比如:nvidia-persistenced、nvidia-docker Version 1和Nvidia-docker Version 2(不需要终止)。
执行如下命令,重置GPU。
nvidia-smi -r