关于Linux+GPU服务器下GPU显存不足问题

作者: 米兰的小码农 | 来源:发表于2019-05-07 22:08 被阅读6次

1. 问题描述

在基于Linux操作系统环境下的GPU服务器上跑深度学习代码时,我们常常会因为如不正常退出等问题导致资源没被正常回收而出现GPU显存不足的情况,此时再次运行学习代码就会出现如下图所示报错情况。从图片上可以看出我10.91GiB的显存仅剩下362.38MiB,报错提示原因也是ResourceExhaustedError(资源耗尽错误)。

问题描述
Traceback

2. 解决方法

2.1 传统方法

  • 传统方法当然是重启呀,这是在不知道解决办法时的万能钥匙,手动滑稽。

2.2 杀死进程法

  • 使用fuser命令显示所有占用nvidia设备的进程processID。(说明:fuser命令 能展列出当前磁盘上的某个文件、挂载点、以及网络端口的使用情况,并显示使用其资源的进程processID,默认情况下每个文件名后面跟一个字母表示访问类型)
sudo fuser /dev/nvidia*
  • 操作过程如下:


    使用fuser命令
  • 使用kill命令将占用Nvidia设备的进程杀掉,并再次使用fuser命令确认。(说明:使用kill命令时默认的命令参数为-15,而kill -15代表的信号为SIGTERM,这是告诉进程进行终止操作,这并不能保证一定杀干净;而kill -9代表的信号是SIGKILL,表示进程被杀死,不能被忽略)

kill -9 PID
sudo fuser /dev/nvidia*
  • 其中我的PID为上图的22448,操作过程如下图所示:
    使用kill命令

3.备注

  • 到此问题就解决了,继续学习。
  • 问题是本人在Ubuntu 16.04系统下使用tensorflow框架在Nvidia GTX 1080Ti上进行机器学习时遇到的。因为经常会遇到,所以做了问题总结,希望对出现同样问题的你有所帮助。

相关文章

网友评论

    本文标题:关于Linux+GPU服务器下GPU显存不足问题

    本文链接:https://www.haomeiwen.com/subject/efxuoqtx.html