概述
最近在实验室的服务器上跑tensorflow程序,一直都没有报错,但是今天却突然报错,而且出错提示显示的内容从未见到过,错误提示如下:
错误提示资源耗尽,无法分配tensor出错。通过在网上查找原因以后才明白,是因为后台存在其他进程占用GPU资源。问题出在两方面,一个是有其他进程正在GPU上运行占用GPU资源,另外一个是由于所写的模型逻辑出了问题,比如分配大小等等。第二种情况需要自己重新检查模型数据和逻辑,一般情况下先考虑第一种情况,第一种情况的解决方案如下:
首先在命令行输入 nvidia-smi 显示GPU的使用情况
每个参数的使用情况详见https://blog.csdn.net/Cloudox_/article/details/78651637
主要关心的参数为Memory-Usage,如上图所示,两块GPU的显存都被极大的占用了,但是GPU-Util(GPU利用率为0),那么说明后台有进程在消耗GPU资源。
命令行输入 fuser -v /dev/nvidia*,如下图所示就会显示使用GPU的进程:
把消耗资源的进程关闭即可:命令行输入 kill -9 进程号 ,再次显示GPU的使用情况:
至此,问题圆满解决!
最后
以上就是疯狂战斗机为你收集整理的[显存被占满,程序无法运行问题]ResourceExhaustedError (see above for traceback): OOM when allocating tensor的全部内容,希望文章能够帮你解决[显存被占满,程序无法运行问题]ResourceExhaustedError (see above for traceback): OOM when allocating tensor所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复