是否可以通过CUDA使用GPU停止所有正在运行的处理,而无需重新启动机器?
答案 0 :(得分:13)
lsof实用程序将对此有所帮助。您可以通过以下方式获取访问NVIDIA显卡的进程列表:
lsof /dev/nvidia*
然后使用kill或pkill终止所需的进程。请注意,如果X正在运行,您可能不想杀死它。在我的桌面系统上,X和kwin都在访问GPU。
答案 1 :(得分:7)
您可以使用nvidia-smi
然后
kill -9 <pid>
答案 2 :(得分:3)
简短答案:
lsof /dev/nvidia* | awk '{print $2}' | xargs -I {} kill {}
通过一个命令完成作业。
长答案:
lsof /dev/nvidia*
为您提供运行在GPU卡上的PID,如下所示:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
python 7215 ******* mem CHR 195,255 434 /dev/nvidiactl
python 7215 ******* mem CHR 195,0 435 /dev/nvidia0
和
awk '{print $2}'
选择PID列(在我的情况下是第二列),
xargs -I {} kill {}
杀死那些PID作业。