Linux服务器进程退出了,但是显存占用问题的解决
作者:richardxp888
这篇文章主要介绍了Linux服务器进程退出了,但是显存占用问题的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
Linux服务器进程退出了,但是显存占用
问题描述
在Linux服务器上跑Caffe、TensorFlow、pytorch之类的需要CUDA的程序时,强行Kill掉进程后发现显存仍然占用
解决办法
使用如下命令查看到top或者ps中看不到的进程,之后再kill掉:
fuser -v /dev/nvidia*
接着杀掉显示出的进程(有多个):
kill -9 12345 kill -9 123456
批量清理显卡中残留进程:
sudo fuser -v /dev/nvidia* |awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sudo sh
清理指定GPU显卡中残留进程,如GPU 2:
sudo fuser -v /dev/nvidia2 |awk '{for(i=1;i<=NF;i++)print "kill -9 " $i;}' | sudo sh
Linux结束进程,清空显存
运行命令 ps -ef
或者 ps aux
查看所有的进程和PID
运行命令 kill -9 (pid)
结束目标进程
例如:PID为123456,则使用 kill -9 123456
即可。
再次查看显存,发现已经清空。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。