解决Linux Nvidia并行任务强行终止后kill不死进程 | 您所在的位置:网站首页 › linux中如何杀掉一个任务 › 解决Linux Nvidia并行任务强行终止后kill不死进程 |
kill杀死程序流程
检查GPU进程nvidia-smi
单卡任务kill指令kill -GPU索引号 -PID
多卡任务kill指令fuser -v /dev/nvidia*kill -PID
小结
最近在学习Pytorch的DistributedDataParallel API进行多GPU并行计算的实现,并行虽好,但是一旦代码有bug手动强行终止运行,经常出现部分进程还没终止的现象,还在后台运行占用资源,必须手动杀死进程。然而kill进程却没那么顺利,有些进程怎么也杀不死,看了好些方法都没用,最后自己摸索了出来,特此记录一下这个坑。
由于服务器上不是所有用户都有根权限,所以指令可能无效。如果出现无效的情况,加上根权限即可
sudo 你的指令
检查GPU进程
nvidia-smi
强行终止代码运行后查看一下GPU运行情况,看看各个GPU的负载和进程 nvidia-smi
尝试使用指定GPU索引号和PID的指令杀死进程,无效,进程还在 kill -GPU -PID 多卡任务kill指令 fuser -v /dev/nvidia* sudo fuser -v /dev/nvidia*查看nvidia上所有进程的详细信息 重要补充!!!若sudo kill 无效,尝试加上-9,即 sudo kill -9 -PID手动地一个一个的输入上面的两个进程 再次查看进程信息 |
CopyRight 2018-2019 实验室设备网 版权所有 |