关于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