Ubuntu:显存占用及处理_ubuntu图形界面消耗资源-程序员宅基地

技术标签: Ubuntu使用记录  

问题

在进行深度学习时,显存是一种非常宝贵的资源。但是即便在Ubuntu下,各种各样的系统配置都会不自觉的占用一些显存,导致深度学习难以为继。在本博客中,主要搬运一些查询显存占用原因及处理方法。


翻译来源链接

https://unix.stackexchange.com/questions/591393/how-to-shift-process-from-gpu-to-cpu-usage
https://askubuntu.com/questions/1220144/can-somebody-explain-the-results-for-the-nvidia-smi-command-in-a-terminal
https://blog.csdn.net/weixin_35653315/article/details/71327740
https://zhuanlan.zhihu.com/p/64849549


显存占用查看

最常用的命令就是nvidia-smi,通常能够得到一下的结果:

$ nvidia-smi
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.138                Driver Version: 390.138                   |
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1461      G   /usr/lib/xorg/Xorg                            54MiB |
|    0      3495      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files    59MiB |
+-----------------------------------------------------------------------------+

其中,Xorg是桌面占用的部分,这个可以通过关闭桌面的方式处理,不再展开。
比较好奇的是...AAAAAAAAAAAACAAAAAAAAAA= --shared-files对应的部分。通过ps命令可以查看其对应的程序,发现对应的是Chrome。笔者在使用Ubuntu的过程中,也遇到过VSCode占用大量的显存。

ps -fp 3495
UID        PID  PPID  C STIME TTY          TIME CMD
ovalerio  3495  3467  0 10:37 tty2     00:04:04 /opt/google/chrome/chrome --type=gpu-process --field-trial-handle=6716317491882142118,16579441558825986940,131072 --gpu-preferences=MAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAABgAAAAAAAQAAAAAAAAAAAAAAAAAAAACAAAAAAAAAA= --shared-files

似乎接下来的事情当然就简单了,直接关闭对应的程序就行。


处理方法

通常在深度学习炼丹过程中,两个工具必不可少,VSCode+Chrome,前者用来写代码,后者用来配合tensorboard查看训练情况。然而前文也说到,这两个东西都会占用大量的显存,对训练不友好。
当然也有一个简单的解决方案,Ubuntu完全变成服务器,使用VSCode Remote远程编写代码,tensorboard也通过远程的方式进行展示。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u012348774/article/details/115398014

智能推荐

Shell中字符串分割的三种方法_shell字符串按空格切割成列表-程序员宅基地

文章浏览阅读10w+次,点赞7次,收藏24次。问题:对于’1,2,3,4,5’这样的字符串输出采用,分隔开的1 2 3 4 5特征:在字符串中没有空格解决方法1:#!/bin/bashvar=’1,2,3,4,5’var=${var//,/ } #这里是将var中的,替换为空格for element in $var do echo $elementdone若原来字符串中有空格如:’mark:x:_shell字符串按空格切割成列表

Java 判断文件夹、文件是否存在,不存在则创建_判断d盘是否存在text4文件夹,不存在就创建,在text4文件夹内创建ikun.txt文件,-程序员宅基地

文章浏览阅读4.3w次,点赞9次,收藏24次。1、判断文件是否存在,不存在创建文件File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm"); if(!file.exists()) { try { file.createNewFile(); } catch (IOException e) { ..._判断d盘是否存在text4文件夹,不存在就创建,在text4文件夹内创建ikun.txt文件,

Jupyter Notebook使用ipywidgets动态更换显示图片、预览播放视频【告别matplotlib】_ipywidgets数据转图像-程序员宅基地

文章浏览阅读5.1k次,点赞2次,收藏16次。不管是Jupyter Notebook还是IPython Notebook,用过的人都知道,要想达成本地python-opencv一样窗口播放视频的效果是非常麻烦的。网络上能搜索到的matplotlib动态切换图片,大部分都是绘制函数图,或者就是用clear_output清空输出区域的办法重新绘制,既麻烦又不雅观。现在给大家介绍一个新的方法,可以在jupyter网页开发时像opencv“窗口”..._ipywidgets数据转图像

搭建web服务器-程序员宅基地

文章浏览阅读7k次,点赞4次,收藏51次。1.要求搭建web服务器,能够访问到网页内容为“小胖,你咋这么胖呢!”2.要求搭建web服务器,创建基于域名的虚拟主机,能够使用www.xiaopang.com和www.dapang.com访问各自的网站网站存放路径分别为/xiaopang和/dapang,内容自定。配置yun源: 第三步:更改配置文件实现自定义设置:第四步:根据配置创建资源文件:第五步:重启服务测试第六步:使用windows浏览器访问服务器IP添加成功后重启服务端:第

paddlehub学习_python3: symbol lookup error: /opt/conda/envs/pyth-程序员宅基地

文章浏览阅读1.3k次。#安装paddlehub!pip install paddlehub==1.6.0 -i https://pypi.tuna.tsinghua.edu.cn/simpleLooking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleCollecting paddlehub==1.6.0[?25l Downloading htt..._python3: symbol lookup error: /opt/conda/envs/python35-paddle120-env/lib/pyt

react搭建二_react 项目 报错 parsing error:the keyword 'import' is -程序员宅基地

文章浏览阅读197次。前言前面我们已经搭建了基础环境,现在将开发环境更完善一些。devtool在开发的过程,我们会经常调试,so,为了方便我们在chrome中调试源代码,需要更改webpack.config.js,然后启动webpack-dev-server。完成之后在chrome浏览器中打开debug,点击Sources选项,即可看见提示,继而输入你想查看的源文件名即可显示该文件源代码,如果你觉得某处代码有问题,对应..._react 项目 报错 parsing error:the keyword 'import' is reserved

随便推点

pytorch多GPU使用的方法model=nn.DataParallel(model).cuda()_model = nn.dataparallel(model, device_ids=gpus).cu-程序员宅基地

文章浏览阅读3.4k次。单GPU: import osos.environ["CUDA_VISIBLE_DEVICES"] = "0"12 多GPU: device_ids = [0,1,2,3]1 model = model.cuda(device_ids[0])model = nn.Data..._model = nn.dataparallel(model, device_ids=gpus).cuda()

R语言数据挖掘概述(一)-程序员宅基地

文章浏览阅读2.8k次。1.数据分析与挖掘的必要性数据量的规模由传统的GB,TB量级,变为PB,EB,ZB级别,大数据的"4V"特点即大量(volume)、高速(velocity)、多样(variety)、价值(value). 因此一般的大数据分析需要四个核心要素:基于云计算的基础设施,分布式的大数据体系,数据分析方法与算法,行业应用知识与经验。人类的数据生产能力达到空前,从数据挖掘方法入手,无疑是最佳选择。2...

射线与平面的相交检测(Ray-Plane intersection test)_射线与面相交检测算法-程序员宅基地

文章浏览阅读1.3k次。射线与平面的相交检测(Ray-Plane intersection test)射线的定义在欧几里德几何中,射线的定义是:直线上一点和它一旁的部分。由此可知,射线有两个性质,一是只有一个端点,二是一端无限延伸。射线的参数方程其中p0是射线的起点, u是射线的方向向量,t >= 0,根据t的取值不同,可得射线上不同的点,所有这些点便构成了整个射线,如图平面的定义平面_射线与面相交检测算法

java键盘上下左右事件_Atitit。監聽鍵盤上下左右方向鍵事件java js jquery c#.net-程序员宅基地

文章浏览阅读287次。Atitit。監聽鍵盤上下左右方向鍵事件java js jquery c#.net1.Keyword鍵盤事件 方向鍵 上下左右 按鍵監聽2.通用的實現流程Bind (control,key_eventHandel)key_eventHandel獲得當前控件var now=$(".selected");3.Js的實現3.1.Bind control ,event handelerkey_...

redis集群从bind127.0.0.1 修改为本地IP需要的相关配置_bind 127.0.0.1-程序员宅基地

文章浏览阅读1.1k次。redis集群从bind127.0.0.1 修改为本地IP需要的相关配置之前配置集群的时候都是默认配置,后来发现在用Jedis连接集群测试的时候无法连接。后来查到是因为配置问题(配置成了127.0.0.1),所以在外面连接的时候无法连接到,需要指定本地ip才可以。于是将其重新配置了一次,终于成功!下面整理了一下重新配置的步骤(以6个redis为例):1、关闭redis集群查找所有redis进程[hadoop@master redis-cluster]$ ps -ef | grep redis_bind 127.0.0.1

Modscan和Modsim 两种Modbus调试工具使用说明-程序员宅基地

文章浏览阅读3.2w次,点赞10次,收藏60次。ModScan32和ModSim32调试工具使用说明_modscan

推荐文章

热门文章

相关标签