RuntimeError: CUDA out of memory. Tried to allocate 14.00 MiB linux跑深度学习爆显存问题
出现这条信息就说明当前环境中可分配给跑训练的显存不够了,有两种可能原因:
1、显卡的显存确实太小,训练网络的要求高于这张显卡。解决办法只有换大显存显卡。
2、系统的进程太多,有可能跑之前调试的代码进程没有结束,还在占用显存,需要清理。
清理办法:注:方法参考 https://www.autodl.com/docs/qa4/ 移植到我的个人博客仅仅是出于方便个人的学习,如有侵权请告知删除。
首先使用nvidia-smi命令检查GPU的使用情况,如果发现程序已经关闭了但是还有显存占用,说明有残留进程占用了显存,那么按以下方式释放:
从截图中能看出有程序占用了4388MiB的显存,此时要释放显存,那么首先找到进程ID:
使用ps -ef
命令
可以看到PID、PPID、CMD 3列重要信息,分别是进程ID、父进程ID、进程的启动命令。
通过命令可以判断哪些进程是自己程序启动的进程,比如上方的python train.py
就是我启动的进程,其他的均为系统进程或无关显存占用的进程。接下来杀死进程:
从截图中看到python train.py
程序的进程ID是594
和797
,那么可以使用kill -9 594 797
命令来结束进程。 但是常常占用显存的进程会很多,特别是在多卡并行时,按此方法会比较繁琐,以下介绍一种更强大的方式结束进程:
通过ps -ef
能看出,我自己的进程都包含了train
关键字(并且其他无关的系统进程没有包含,防止误杀),那么使用grep
命令可以过滤出我自己的进程,例如:
接下来是获取进程的ID,此时可以使用awk命令,awk命令用法复杂,这里简单记住以下命令即可:
最后再通过kill命令,即可完整的结束进程。完整命令为ps -ef | grep train | awk '{print $2}' | xargs kill -9
以上输出中会多出来一个No such process
的错误,可以忽略,出现原因是grep train
也会产生一个进程,被自己过滤出来。
更多说明:|
Linux命令中的|符号称之为管道,作用是把前一个命令的输出作为下一个命令的输入(一般为stdout,stderr要做其他处理),管道的功能非常实用,在很多场景下都可以使用到,比如某个文件夹下有几万个文件,但是有一个文件是txt文件,其他均为图片,需要将此文件找出来。如果使用ls获取文件列表后人工排查非常麻烦,因此可以使用:
RuntimeError: CUDA out of memory. Tried to allocate 14.00 MiB linux跑深度学习爆显存问题相关推荐
- RuntimeError: CUDA out of memory. Tried to allocate XX.XX MiB. pytorch训练超出撑爆显存的问题
1.batch_size设置过大 这种比较好理解,就是单卡batch_size设置大了,数据量就大了,显存可能就放不下了.不过一般batch_size也不宜设置过小,不然如果batch里含有噪声数据其 ...
- 已解决yolov5报错RuntimeError: CUDA out of memory. Tried to allocate 14.00 MiB
问题 RuntimeError: CUDA out of memory. Tried to allocate 14.00 MiB (GPU 0; 4.00 GiB total capacity; 2. ...
- RuntimeError: CUDA out of memory. Tried to allocate 132.00 MiB (GPU 2; 3.95 GiB total capacity; 3.41
pytorch报错:RuntimeError: CUDA out of memory. Tried to allocate 132.00 MiB (GPU 2; 3.95 GiB total capa ...
- 报错`RuntimeError: CUDA out of memory. Tried to allocate 256.00 MiB (GPU 0; 9.78 GiB total capaci
报错RuntimeError: CUDA out of memory. Tried to allocate 256.00 MiB (GPU 0; 9.78 GiB total capacity; 8. ...
- RuntimeError: CUDA out of memory. Tried to allocate 170.00 MiB (GPU 0; 3.82 GiB total capacity; 1.94
错误: RuntimeError: CUDA out of memory. Tried to allocate 170.00 MiB (GPU 0; 3.82 GiB total capacity; ...
- RuntimeError: CUDA out of memory.Tried to allocate 20.00 MiB GPU 0 ,3.94 GiB total capacity 3.36 G
RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 3.94 GiB total capacity; 3.36 ...
- RuntimeError: CUDA out of memory. Tried to allocate 50.00 MiB (GPU 0; 4.00 GiB total capacity; 682.9
1. 问题 训练模型时报错: RuntimeError: CUDA error: out of memory CUDA kernel errors might be asynchronously re ...
- RuntimeError: CUDA out of memory. Tried to allocate 20.00 MiB解决方案
[问题描述] 在跑深度学习训练模型时报此错误. [解决方法] 1.尝试调小训练使用的batch size 2.尝试调小img size 3.修改电脑配置中页面文件的大小(我的python.anacon ...
- 解决:RuntimeError: CUDA out of memory. Tried to allocate 64.00 MiB (GPU 0; 4.00 GiB total capacity; 2
引发pytorch:CUDA out of memory错误的原因有两个: 1.当前要使用的GPU正在被占用,导致显存不足以运行你要运行的模型训练命令不能正常运行 解决方法: 1.换另外的GPU 2. ...
最新文章
- 启用Apache Mod_rewrite模块
- C语言树形打印二叉树
- 6.6 二分 K-Means 算法-机器学习笔记-斯坦福吴恩达教授
- 【C/C++10】天气APP:MySQL/PostgreSQL,环境变量/动静态库,Linux/Oracle字符集
- RabbitMQ死信实战(生产者)
- 以史为鉴 | 为什么要将「知识图谱」追溯到1956年?
- 逆元java_逆元 - 阿聊 - 博客园
- 轻知 | 为什么全球只有13组根域名服务器?
- 别扯了,这才是应对高并发的正确处理思路。
- 标星7000+,这个 Python 艺术二维码生成器厉害了!
- ES8新特性_ES8中对象方法的扩展---JavaScript_ECMAScript_ES6-ES11新特性工作笔记052
- Python+Appium+夜神模拟器安装与简单运行(2/2)
- 最新web打印控件 破解版 下载地址
- 淘宝API如何获取商品详情信息|sku|价格|店铺|优惠券|运费信息,淘宝商品详情API接口
- 20个免费网站测试工具
- macOS Monterey 怎么升级?macOS 12升级教程
- 计算机专业 本科论文,计算机专业本科毕业设计和毕业论文的感悟
- 一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
- python(14)--集合
- 分析盘点44,630,000条攻击数据后,创宇蜜罐发现——
热门文章
- 深入大数据平台心脏:饿了么调度系统全解
- android 2.2手机,Android2.2即将来临?最值得购买的手机推荐
- 公网IP、私网IP和IP分类
- 专业运动耳机哪个牌子好、运动耳机品牌排行榜
- 超好玩的桥梁建造师:行尸走肉 for Mac中文版(支持big sur)
- 深入理解Java虚拟机——垃圾收集器与内存分配策略
- 计算机桌面内存,计算机内存不足怎么办
- MySQL交叉表:纵向数据显示为横向。
- Android webview加载html代码 上下左右有白边问题
- 抖音直播没人看怎么回事;揭秘抖音直播热门规则与技巧丨国仁网络资讯