当前位置:   article > 正文

Ubuntu释放缓存/内存和显存_ubuntu 释放内存

ubuntu 释放内存

前言

深度学习训练模型时,总是出现显存和内存爆满的现象,导致训练中断,这里总结几个好用的方法:

  1. 代码添加指令
  2. 手动释放内存/缓存
  3. 自动定时释放内存/缓存
  4. 代码释放显存(torch)

1. 代码添加指令

代码中存在一些临时变量或者缓存,使用del进行删除,del ***是python删除变量的一种方式,可以尽可能减少不必要的临时变量。
只需在运行代码末尾加入:

del ***
gc.collect()   #内存回收,释放,代码开头记得import gc
  • 1
  • 2

2. 手动释放内存/缓存:

进入终端,写如下任一指令即可:

echo 1 > /proc/sys/vm/drop_caches

echo 2 > /proc/sys/vm/drop_caches

echo 3 > /proc/sys/vm/drop_caches
  • 1
  • 2
  • 3
  • 4
  • 5

用free -h检查是否成功清除缓存。


3. 自动定时释放内存/缓存:

注:这个是我比较推荐的,建议在root权限下去做:

在自定义的一个路径下(我的是/home/xzy/)建立一个freex.h文件:

vim freex.sh
  • 1

在这里插入图片描述
然后写入如下指令(输入i进行编辑),并保存退出(ESC + : + w + q):

sync; echo 1 > /proc/sys/vm/drop_caches
 
sync; echo 2 > /proc/sys/vm/drop_caches
 
sync; echo 3 > /proc/sys/vm/drop_caches
 
swapoff -a && swapon -a
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

赋权:

chmod 777 freex.sh
  • 1

设置定时:

crontab -e
  • 1

但是第一次进入可能会出现这样的情况:

root@shige-System-Product-Name:/home/xzy#  crontab -e
no crontab for root - using an empty one

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /usr/bin/emacs25
  5. /bin/ed
Choose 1-5 [1]: 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

选择编辑器,我选的vim.basic,也就是输入2,回车:

Choose 1-5 [1]: 2
crontab: installing new crontab
  • 1
  • 2

再次进入:

crontab -e
  • 1

输入以下内容,并保存退出(5分钟自动调用一次):

*/05 * * * * /home/xzy/freex.sh
  • 1

如图:

在这里插入图片描述

查看状态和启动:

service cron status
service cron start
  • 1
  • 2

注释:
service cron start # 开启服务
service cron stop # 关闭服务
service cron reload # 重新载入配置
service cron restart # 重启服务

在这里插入图片描述

就是有个小疑问,就是图中存在一个:(CRON) info (No MTA installed, discarding output)。
不知道是个啥,不过不影响功能,有知道的可以评论区指导下哈,我搜了一些去除这个问题的博客,感兴趣的可以参考:
博客1
博客2
博客3
Ok!
完成,亲测有效!!!


4. 代码释放显存(torch):

如果显存资源比较紧缺,可以在每个epoch开始时释放下不用的显存资源:

torch.cuda.empty_cache()
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/127430
推荐阅读
相关标签
  

闽ICP备14008679号