重置GPU可用于清除GPU硬件和软件状态,当GPU实例发生Xid错误或双位ECC错误时,重置GPU是有效的处理方式,有关Xid和ECC的错误详情及处理建议请参见如何判断和处理GPU硬件相关故障。
注意
GPU重置操作不能保证在所有情况下都有效,应谨慎使用。
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”,表明已终止所有进程。在Linux系统上,某些基础设施软件会使GPU保持使用状态并防止GPU被驱动程序分离。比如:nvidia-persistenced、nvidia-docker Version 1和Nvidia-docker Version 2(不需要终止)。
sudo lsof /dev/nvidia*
$ 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
sudo service nvidia-persistenced stop
sudo lsof /dev/nvidia*
命令,若未返回任何条目,表示已终止所有进程。nvidia-smi -r