GPU 显存释放

我们在使用tensorflow 的时候, 有时候会在控制台终止掉正在运行的程序,但是有时候程序已经结束了,nvidia-smi也看到没有程序了,但是GPU的内存并没有释放,那么怎么解决该问题呢?

首先执行下面的命令:

fuser -v /dev/nvidia* #查找占用GPU资源的PID

因为我们只有一块显卡,所以显示如下图所示: 

可以看到我们的nvidia0上还有一个python 2.7的PID

然后我们执行:

kill -9 pid

然后再执行nvidia-smi就可以看到内存已经被释放了

原文地址:https://www.cnblogs.com/Allen-rg/p/10417308.html

时间: 2024-08-03 10:08:22

GPU 显存释放的相关文章

Ubuntu-Tensorflow 程序结束掉GPU显存没有释放的问题

笔者在ubuntu上跑Tensorflow的程序的时候,中途使用了Win+C键结束了程序的进行,但是GPU的显存却显示没有释放,一直处于被占用状态. 使用命令 nvidia-smi 显示如下 两个GPU程序都在执行中,实际上GPU:0已经被笔者停止了,但是GPU没有释放,进程还在继续,所以只有采用暴力手段了,将进程手动关闭掉,进程编号如图中红线部分,由于笔者在两个GPU跑的程序一样,很难从程序名称上找到自己,却可以从GPU:num上找到自己的PID. 关闭命令如下: sudo kill -9 P

tensorflow中使用指定的GPU及GPU显存

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本文目录 1 终端执行程序时设置使用的GPU 2 python代码中设置使用的GPU 3 设置tensorflow使用的显存大小 3.1 定量设置显存 3.2 按需设置显存 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 转载请注明出处: http://www.cnblogs.com/darkknightzh/p/6591923.html 参考网址: http://stackoverflo

gpu显存(全局内存)在使用时数据对齐问题解析

全局存储器,即普通的显存,整个网格中的任意线程都能读写全局存储器的任意位置. 存取延时为400-600 clock cycles  非常容易成为性能瓶颈. 访问显存时,读取和存储必须对齐,宽度为4Byte.如果没有正确的对齐,读写将被编译器拆分为多次操作,降低访存性能. 多个warp的读写操作如果能够满足合并访问,则多次访存操作会被合并成一次完成. 合并访问的条件,GT200放宽了合并访问的条件. 支持对8 bit.16 bit.32 bit.64 bit数据字的合并访问 相应传输32Byte

gpu显存(全局内存)在使用时数据对齐的问题

全局存储器,即普通的显存,整个网格中的任意线程都能读写全局存储器的任意位置. 存取延时为400-600 clock cycles  非常容易成为性能瓶颈. 访问显存时,读取和存储必须对齐,宽度为4Byte.如果没有正确的对齐,读写将被编译器拆分为多次操作,降低访存性能. 多个warp的读写操作如果能够满足合并访问,则多次访存操作会被合并成一次完成.合并访问的条件,1.0和1.1的设备要求较严格,1.2及更高能力的设备上放宽了合并访问的条件. 1.2及其更高能力的设备支持对8 bit.16 bit

(原)tensorflow中函数执行完毕,显存不自动释放

转载请注明出处: http://www.cnblogs.com/darkknightzh/p/7608916.html 参考网址: https://stackoverflow.com/questions/39758094/clearing-tensorflow-gpu-memory-after-model-execution https://github.com/tensorflow/tensorflow/issues/1727#issuecomment-285815312s tensorflo

【原创】Linux环境下的图形系统和AMD R600显卡编程(4)——AMD显卡显存管理机制

显卡使用的内存分为两部分,一部分是显卡自带的显存称为VRAM内存,另外一部分是系统主存称为GTT内存(graphics translation table和后面的GART含义相同,都是指显卡的页表,GTT 内存可以就理解为需要建立GPU页表的显存).在嵌入式系统或者集成显卡上,显卡通常是不自带显存的,而是完全使用系统内存.通常显卡上的显存访存速度数倍于系统内存,因而许多数据如果是放在显卡自带显存上,其速度将明显高于使用系统内存的情况(比如纹理,OpenGL中分普通纹理和常驻纹理). 某些内容是必

关于内存与显存

内存 Memory DRAM-Dynamic Random Access Memory 基本原理 利用电容内存储的电荷多寡代表0与1 每个bit只用到一个晶体管加一个电容 但电容会漏电,因此内存需要周期性刷新 同时电容充放电需要过程,因此刷新频率不可能无限提升 因此DRAM频率很容易达到上限,即便工艺先进也收效甚微 内存的三种频率 核心/IO/等效 通常所说的DDR3-1600并非真正频率,而是等效频率 内存三种频率指标 核心频率.时钟频率.有效数据传输频率 核心频率:内存Cell阵列的刷新频率

关于显卡的显存

显存,也被叫做帧缓存,它的作用是用来存储显卡芯片处理过或者即将提取的渲染数据.如同计算机的内存一样,显存是用来存储要处理的图形信息的部件. 作用 显存 如同计算机的内存一样,显存是用来存储要处理的图形信息的部件.我们在显示屏上看到的画面是由一个个的像素点构成的,而每个像素点都以4至32甚至64位的数据来控制它的亮度和色彩,这些数据必须通过显存来保存,再交由显示芯片和CPU调配,最后把运算结果转化为图形输出到显示器上.显存和主板内存一样,执行存贮的功能,但它存贮的对像是显卡输出到显示器上的每个像素

[Pytorch]深度模型的显存计算以及优化

原文链接:https://oldpan.me/archives/how-to-calculate-gpu-memory 前言 亲,显存炸了,你的显卡快冒烟了! torch.FatalError: cuda runtime error (2) : out of memory at /opt/conda/conda-bld/pytorch_1524590031827/work/aten/src/THC/generic/THCStorage.cu:58 想必这是所有炼丹师们最不想看到的错误,没有之一.