linux无进程占用GPU,但却显示显存占满

今天在使用pytorch训练模型时提示:

RuntimeError: CUDA out of memory

通过nvidia-smi指令查看了GPU的使用情况,结果很奇怪:
只有几个基础进程占用了大概200M的GPU,但GPU的总体占用为:

24162MiB / 23259 MiB

由于无相关进程显示,所以没有办法通过杀进程的方式释放显存。
通过 gpustat 指令查看了其他用户进程的GPU使用情况:

gpustat -u --color

发现和nvidia-smi显示的无区别, 其中root用户的Xorg进程占用了大概100MiB的显存。
根据这篇文章的方法,尝试了一下先释放Xorg的显存:linux xorg占用显存过大解决

通过Ctrl + Alt +F1~F6任意一个进入文字界面;
然后Ctrl + Alt + F7再回到图形界面。

此时再使用nvidia-smi发现显存使用已经降至很低,问题就已经解决了,但对于问题产生的具体原因尚不明确。

由于我使用的是向日葵远程桌面软件连接 的实验室的电脑,所以使用这个方法释放Xorg显存是会出现黑屏和连接断开,因为跳转至了root用户,重新连接即可。

你可能感兴趣的:(Pytorch,编程语言,深度学习,pytorch)