由于程序中断缘故,出现了占用GPU的进程,但是奈何没有服务器sudo权限。怎么办呢?
0.环境
ubuntu16.04
docker
1.安装fuser对应的库---psmisc
安装fuser对应的库
apt-get update
apt-get install psmisc
2.运行命令查看GPU相关进程PID
fuser -v /dev/nvidia*
3.杀死进程
以显卡0上的为例:
kill -9 19134
kill -9 19135
4.批量删除容器中的python进程
kill -9 `ps ux | grep -i "\bpython" | awk '{print $2}'`
这条参考知乎中的评论:批量杀死自己跑在GPU上的进程[深度学习调参工具脚本] - 知乎
5.查看进程时间
此处参考:linux 查看进程启动时间(运行时间)_halley333的专栏-CSDN博客
此处主要应对出现那种终端断了,但是进程还在的情况。查看运行与运行多长时间,我们就可以杀掉指定的进程了:
ps -eo pid,lstart,etime | grep your_pid
# eg:
ps -eo pid,lstart,etime | grep 2081
# display:
2081 Mon Jan 25 10:02:39 2021 15:45:16
根据大致信息参考,我们就可以知道该杀死哪个进程了。
6.htop查看对应进程名称与PID
apt-get install htop
htop
kill -9 PID
通过htop查看对应命令的进程PID,对照nvidia显卡上的信息PID,然后再杀死对应进程。