我可以在不重启的情况下在Linux中使用CUDA停止所有进程吗?

Chr*_*ian 16 cuda restart kill-process

是否可以通过CUDA使用GPU停止所有正在运行的处理,而无需重新启动机器?

i_g*_*rok 17

lsof实用程序将有助于此.您可以通过以下方式获取访问NVIDIA显卡的进程列表:

lsof /dev/nvidia*
Run Code Online (Sandbox Code Playgroud)

然后使用kill或pkill来终止所需的进程.请注意,如果X正在运行,您可能不想杀死它.在我的桌面系统上,X和kwin都在访问GPU.


小智 8

您可以使用nvidia-smi然后检查进程

kill -9 <pid>
Run Code Online (Sandbox Code Playgroud)

  • 我明白了,只是pid。&lt;&gt;就像一个报价 (2认同)

use*_*814 6

长答案:

lsof /dev/nvidia*
Run Code Online (Sandbox Code Playgroud)

为您提供在GPU卡上运行的PID,如下所示:lsof: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
Run Code Online (Sandbox Code Playgroud)

awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

选择PID列(在我的情况下是第二列),然后

xargs -I {} kill {}
Run Code Online (Sandbox Code Playgroud)

杀死那些PID作业。

简短答案:

您可以使用以下命令立即将其全部删除。

小心!此命令将删除显示为lsof / dev / nvidia *的所有PID。请先运行lsof / dev / nvidia *,以确认这些作业是您要删除的作业。

lsof /dev/nvidia* | awk '{print $2}' | xargs -I {} kill {}
Run Code Online (Sandbox Code Playgroud)

通过单个命令完成作业。

  • 好家伙,这让我的整个电脑崩溃了,Ubuntu 在启动时进入了修复模式 (2认同)