服务器上多张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内存分明没人占用但是分配不了内存的解决办法相关推荐

  1. Win8下80端口被System占用,造成Apache不能启动的解决办法

    Win8下80端口被System占用,造成Apache不能启动的解决办法 安装了Windows8系统后,如果装Apache是启动不了的,遇到这个Apache启动不了的时候,首先是查看80端口是不是被占 ...

  2. 我能上网,但是右下角wif图标没了,点开显示无法连接internet解决办法

    我能上网,但是右下角wif图标没了,点开显示无法连接internet解决办法 今天莫名其妙的发现win10右下角wifi图标没了,但是我已经连上网络了,点开显示无法连接internet 网上也找了很多 ...

  3. 30系 显卡显存被占用又找不到进程的解决办法

    最近使用pytorch进行模型训练,调用显卡时出现以下错误: RuntimeError: CUDA out of memory. 傻了,新买的电脑3060,6G显存.啥也没干就不够用了? 于是开始上网 ...

  4. 主机关机后第二天就无法开机_iphone没电自动关机后无法充电和开机的解决办法!(亲身经历)...

    问题记录 时间: 2020年5月21日 地点: 北京市朝阳区XXX写字楼 ​ 今天下午工作太忙,突然发现我的iphone8(ios13)还剩下1%的电量,赶紧去找充电器,没找到!抓紧借!回来的时候为时 ...

  5. 网络rtk能连接服务器,没信号,RTK网络应用出现问题也不怕,解决办法汇总来了...

    原标题:RTK网络应用出现问题也不怕,解决办法汇总来了 这些年来随着GPS产品的越来越多的应用,CORS基站被越来越多地应用到RTK测量中,大大提高了工作效率,减少了人力物力成本. 但是,一些用户在使 ...

  6. 【Error】无法上网:分配到169 ip 的解决办法

    时隔几个月回到实验室,感谢学弟们还给我留了位置.电脑插上去之后,无法上网! OK.无法上网的本质是啥?一步一步排查.定位到问题的关键是,分配的ip是169开头的ip,正常分配的ip应该是10开头. 1 ...

  7. 关于内存的编程题,对异常: 0xC0000005 的分析以及解决办法

    一.内存的思考题.请问运行Test函数会有什么样的结果? 第一题: void GetMemory(char *p) {p = (char *)malloc(100); } void Test(void ...

  8. 最近收到最多的5个抖音问题,10个人有9人都会出现的,我总结了解决办法!

    疫情期间,最近做抖音的人都多了起来.但是问题也多了起来,所以综合最近大家问我的抖音问题,我相依做出解答 问题1:抖音账号没量怎么办?针对这个问题,我给出了这样的解决方法! ①在没量的情况下还要保证每天 ...

  9. vivado仿真导致C盘空间被大量占用vivado仿真闪退崩溃的解决办法之一

    摘要:Vivado跑仿真的时候会出现C盘大量被占用的情况,被占用之后仿真会出现闪退崩溃的现象,这个时候只需要进入下面的文件夹中,删掉tb有关的文件就能够有效解决,至于会出现什么不好的影响,目前没有发现 ...

最新文章

  1. python读取数据校验数据_Python通过Schema实现数据验证方式
  2. matplotlib色彩填充之fill、fill_between
  3. Spring Boot实战:异步编程指南
  4. [Android实例] 最全的Android开发资源整理--进阶必备
  5. office2016word 每次打开都有进度条问题 解决方式
  6. 自己实现内存操作函数memset(),memcmp(),memcpy(),memmove()
  7. Ajax 基础——未完待续
  8. 无向图的完美消除序列 判断弦图 ZOJ 1015 Fish net
  9. 计算机办公实用技能项目实践教程,计算机常用办公软件应用/21世纪计算机科学与技术实践型教程...
  10. 远程办公的一天:魔幻24小时
  11. 转载椭圆曲线原理和openssl命令操作
  12. 课堂练习--最大子数组和
  13. 【深度学习】深度学习的四大组件
  14. AndroidStudio各个版本下载
  15. 2022华为软挑赛题讲解(CodeCraft-2022)
  16. 小白教程 微信小程序 官方示例Demo下载及运行
  17. Android系统签名文件
  18. KEIL5打开KEIL4工程的方法
  19. Cholesky分解
  20. html pc页面连接到微信,PC上对限制在微信客户端访问的html页面进行调试

热门文章

  1. 人之将死其言也善?30年来死囚遗言分析
  2. javaScript 原型 和 原型链
  3. 小程序js判断是否为图片
  4. Java文件压缩工具类ZipUtils学习笔记
  5. 产品驱动增长模式的最佳实践
  6. c 链表排序 - 选择排序
  7. autohotkey 热键_键盘快捷方式(热键),用于将鼠标移至多显示器配置中的显示器-AutoHotkey脚本
  8. tensorflow代码学习:CTC 代码解析
  9. LruCache和DiskLruCache内存和磁盘缓存
  10. unity弹珠游戏-虚拟现实期末大作业(附下载链接)