GPU 显存释放

摘要:
使用tensorflow时,我们有时会在控制台上终止正在运行的程序,但有时程序已经结束,nvidia smi也看到没有程序,但GPU内存尚未释放。我们如何解决这个问题?首先,执行以下命令:fuser v/dev/nvidia*#查找占用GPU资源的PID。因为我们只有一个视频卡,所以显示如下:我们可以看到nvidia0上有一个python 2.7 PID,然后执行:

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

首先执行下面的命令:

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

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

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

然后我们执行:

kill -9 pid

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

GPU 显存实施查看:

但是有时我们希望不仅知道那一固定时刻的GPU使用情况,我们希望一直掌握其动向,此时我们就希望周期性地输出,比如每 10s 就更新显示。

这时候就需要用到 watch命令,来周期性地执行nvidia-smi命令了。

了解一下watch的功能:

$ whatis watch
watch(1) - execute a program periodically, showing output fullscreen

作用:周期性执行某一命令,并将输出显示。

watch的基本用法是:

$ watch [options] command

最常用的参数是 -n, 后面指定是每多少秒来执行一次命令。

监视显存:我们设置为每 10s 显示一次显存的情况:

$ watch -n 10 nvidia-smi

原文:https://blog.csdn.net/jasonzzj/article/details/52649174

查看是否使用GPU计算:

import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))

查看日志信息若包含gpu信息,就是使用了gpu。
其他方法:跑计算量大的代码,通过 nvidia-smi 命令查看gpu的内存使用量。

免责声明:文章转载自《GPU 显存释放》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇pip安装依赖报错wpf 窗体翻页效果下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Pytorch显存动态分配规律探索

  下面通过实验来探索Pytorch分配显存的方式。 实验 显存到主存   我使用VSCode的jupyter来进行实验,首先只导入pytorch,代码如下: import torch   打开任务管理器查看主存与显存情况。情况分别如下:   在显存中创建1GB的张量,赋值给a,代码如下: a = torch.zeros([256,1024,1024]...

DirectCompute & DirectX 11 计算着色器编程简介(翻译)

译者注:DirectX一直是Windows上图形和游戏开发的核心技术。DirectX提供了一种在显卡上运行的程序——着色器(Shader)。在DirectX 11之前,着色器是与具体的渲染步骤绑定的,例如像素着色器,顶点着色器等等。而从DirectX11开始,DirectX增加了一种计算着色器(Compute Shader),它是专门为与图形无关的通用计算...

计算 Python 代码的内存和模型显存消耗的小技巧

了解Python代码的内存消耗是每一个开发人员都必须要解决的问题,这个问题不仅在我们使用pandas读取和处理CSV文件的时候非常重要,在我们使用GPU训练的时候还需要规划GPU的显存使用。尤其是我们在白嫖使用kaggle和colab时显得更为重要。 本篇文章我们将介绍两个 Python 库 memory_profiler和Pytorch-Memory-U...

动手学深度学习 | 使用和购买GPU | 15

目录 使用GPU 购买GPU 整机配置 QA 使用GPU 其实如果没有钱买GPU的话,使用Google Colab也是一个不错的选择,大概是10 dollar一个月。 算力其实是很贵的... 利用好算力是一件很重要的事情! 关于Nvidia Driver too old的问题,如果是服务器的话,这里不要盲目的去更新显卡驱动,这样子会把别人的环...

SystemInfo获取设备系统参数

using UnityEngine; using System.Collections; using System.Collections.Generic; publicclassGameControllerScript:MonoBehaviour { //指定输出文本框 publicUnityEngine.UI.Text messageText; //存...

显卡之NVIDIA、AMD、GeForce、Quadro

显卡   显卡(英语:Video card、Display card、Graphics card、Video adapter),是计算机中一个很重要的组成部分,承担输出显示图形的任务,对于喜欢玩游戏和从事专业图形设计的人来说,显卡非常重要。主流显卡的显示芯片主要由NVIDIA(英伟达)和AMD(超微半导体)两大厂商制造,通常将采用NVIDAI显示芯片的显卡...