Linux--无进程却显示占用显存,GPU显存释放方法
Posted cv_lhp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux--无进程却显示占用显存,GPU显存释放方法相关的知识,希望对你有一定的参考价值。
文章目录
参考链接:
Linux–无进程却显示占用显存,GPU显存释放方法
程序结束掉,但GPU显存没有释放。
一、用nvidia-smi查看对应的进程pid
nvidia-smi
查看显存占用情况如下:
使用kill命令,kill掉对应的进程:
kill -9 PID(进程PID)
我这里PID是23495:
kill -9 23495
再看一下占用情况,可以看到已经释放了:
二、用nvidia-smi查不到对应的进程pid
nvidia-smi
查看显存占用情况,如果发现查不到对应的进程pid,这时候用:
fuser -v /dev/nvidia*
使用kill命令,kill掉对应的进程:
kill -9 PID(替换进程号)
也可以使用下面命令,杀掉全部进程的pid(不推荐使用,小心使用):
fuser -vk /dev/nvidia*
查询GPU时无进程运行,但是显存却被占用了
查询GPU时无进程运行,但是显存却被占用了
1、具体表现
nvidia-smi
或者gpustat
无进程在GPU上运行,但GPU显存却被占用了
2、造成原因
应该是存在僵尸进程,已经运行完毕或者卡死,但是内存没有释放,处于挂起状态
3、解决方案
3.1 方案一
重启电脑
3.2 方案二
如果电脑不能重启,那就通过命令行:
fuser -v /dev/nvidia*
或者有管理员权限的时候
sudo fuser -v /dev/nvidia*
可以看到对应的设备,是有进程的。
最后就用kill命令行杀掉相应的PID号。
这样就完事了
以上是关于Linux--无进程却显示占用显存,GPU显存释放方法的主要内容,如果未能解决你的问题,请参考以下文章
Ubuntu-Tensorflow 程序结束掉GPU显存没有释放的问题