我是靠谱客的博主 疯狂战斗机,最近开发中收集的这篇文章主要介绍[显存被占满,程序无法运行问题]ResourceExhaustedError (see above for traceback): OOM when allocating tensor,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近在实验室的服务器上跑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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部