这个报错的原因有很多
1、自身代码有问题,导致GPU内存不够用
这个只能自查
2、有未释放的GPU资源,导致GPU不够用;当然也有可能多人使用GPU,别人使用了。
我要说的问题是有未释放的GPU资源,导致GPU不够用。
如图一可知,明明GPU1使用了12079M,但是在PID列,四个进程加起来不到1000M,那么可判断有进程占用GPU未被释放
那么执行下面命令
fuser -v /dev/nvidia* #查找占用GPU资源的PID
显示如下
果然有进展偷偷占用,把这个进程关了,执行下面命令。
kill -9 27600
然后再执行nvidia-smi就可以看到内存已经被释放了