GPU内存分明没人占用但是分配不了内存的解决办法
服务器上多张GPU卡被不同人在不同的docker容器中使用,有时GPU分明没人使用了,使用nvidia-smi查看也是内存没占用:
可是在容器内运行程序到分配GPU内存时总是报内存溢出的错误:
可以看到,就是这么分配2M内存都分配不出来!尽管程序里开头的部分已经指定了要使用的是这些内存没被占用的GPU:
os.environ['CUDA_VISIBLE_DEVICES']='6,7'
使用pip install pynvml安装pynvml后查看内存也是有大量的可用内存:
from pynvml import *
nvmlInit()
h = nvmlDeviceGetHandleByIndex(0)
info = nvmlDeviceGetMemoryInfo(h)
print(f'total : {info.total}')
print(f'free : {info.free}')
print(f'used : {info.used}')
按照网上有人说的删除~/.nv或者卸载安装另外的版本都没有用!在程序里加
torch.cuda.empty_cache()
也根本没用!另外,因为机器多人在做训练也不可能重启!最后发现,其实很简单,在运行程序时前面加个CUDA_VISIBLE_DEVICES变量指定GPU就可以了:
CUDA_VISIBLE_DEVICES="6,7" python test.py
另外发现,使用torch的cuda api统计内存占用是不准确的,只有总内存统计是准确的:
print("mem allocated:",torch.cuda.memory_allocated(7),torch.cuda.memory_reserved(7),torch.cuda.get_device_properties(7).total_memory)
得到的是
mem allocated: 0 0 16945512448
可以看到,和pynvml的输出结果比,只有总内存是准确的!
GPU内存分明没人占用但是分配不了内存的解决办法相关推荐
- Win8下80端口被System占用,造成Apache不能启动的解决办法
Win8下80端口被System占用,造成Apache不能启动的解决办法 安装了Windows8系统后,如果装Apache是启动不了的,遇到这个Apache启动不了的时候,首先是查看80端口是不是被占 ...
- 我能上网,但是右下角wif图标没了,点开显示无法连接internet解决办法
我能上网,但是右下角wif图标没了,点开显示无法连接internet解决办法 今天莫名其妙的发现win10右下角wifi图标没了,但是我已经连上网络了,点开显示无法连接internet 网上也找了很多 ...
- 30系 显卡显存被占用又找不到进程的解决办法
最近使用pytorch进行模型训练,调用显卡时出现以下错误: RuntimeError: CUDA out of memory. 傻了,新买的电脑3060,6G显存.啥也没干就不够用了? 于是开始上网 ...
- 主机关机后第二天就无法开机_iphone没电自动关机后无法充电和开机的解决办法!(亲身经历)...
问题记录 时间: 2020年5月21日 地点: 北京市朝阳区XXX写字楼 今天下午工作太忙,突然发现我的iphone8(ios13)还剩下1%的电量,赶紧去找充电器,没找到!抓紧借!回来的时候为时 ...
- 网络rtk能连接服务器,没信号,RTK网络应用出现问题也不怕,解决办法汇总来了...
原标题:RTK网络应用出现问题也不怕,解决办法汇总来了 这些年来随着GPS产品的越来越多的应用,CORS基站被越来越多地应用到RTK测量中,大大提高了工作效率,减少了人力物力成本. 但是,一些用户在使 ...
- 【Error】无法上网:分配到169 ip 的解决办法
时隔几个月回到实验室,感谢学弟们还给我留了位置.电脑插上去之后,无法上网! OK.无法上网的本质是啥?一步一步排查.定位到问题的关键是,分配的ip是169开头的ip,正常分配的ip应该是10开头. 1 ...
- 关于内存的编程题,对异常: 0xC0000005 的分析以及解决办法
一.内存的思考题.请问运行Test函数会有什么样的结果? 第一题: void GetMemory(char *p) {p = (char *)malloc(100); } void Test(void ...
- 最近收到最多的5个抖音问题,10个人有9人都会出现的,我总结了解决办法!
疫情期间,最近做抖音的人都多了起来.但是问题也多了起来,所以综合最近大家问我的抖音问题,我相依做出解答 问题1:抖音账号没量怎么办?针对这个问题,我给出了这样的解决方法! ①在没量的情况下还要保证每天 ...
- vivado仿真导致C盘空间被大量占用vivado仿真闪退崩溃的解决办法之一
摘要:Vivado跑仿真的时候会出现C盘大量被占用的情况,被占用之后仿真会出现闪退崩溃的现象,这个时候只需要进入下面的文件夹中,删掉tb有关的文件就能够有效解决,至于会出现什么不好的影响,目前没有发现 ...
最新文章
- python读取数据校验数据_Python通过Schema实现数据验证方式
- matplotlib色彩填充之fill、fill_between
- Spring Boot实战:异步编程指南
- [Android实例] 最全的Android开发资源整理--进阶必备
- office2016word 每次打开都有进度条问题 解决方式
- 自己实现内存操作函数memset(),memcmp(),memcpy(),memmove()
- Ajax 基础——未完待续
- 无向图的完美消除序列 判断弦图 ZOJ 1015 Fish net
- 计算机办公实用技能项目实践教程,计算机常用办公软件应用/21世纪计算机科学与技术实践型教程...
- 远程办公的一天:魔幻24小时
- 转载椭圆曲线原理和openssl命令操作
- 课堂练习--最大子数组和
- 【深度学习】深度学习的四大组件
- AndroidStudio各个版本下载
- 2022华为软挑赛题讲解(CodeCraft-2022)
- 小白教程 微信小程序 官方示例Demo下载及运行
- Android系统签名文件
- KEIL5打开KEIL4工程的方法
- Cholesky分解
- html pc页面连接到微信,PC上对限制在微信客户端访问的html页面进行调试