Linux报错:RuntimeError: CUDA out of memory.

Linux报错:RuntimeError: CUDA out of memory.

  • 问题
  • 分析
  • 解决
  • 参考文献

问题

Linux服务器报错:RuntimeError: CUDA out of memory.
输出如下图所示:
请添加图片描述

分析

查看GPU使用情况:

nvidia-smi

输出:
Linux报错:RuntimeError: CUDA out of memory._第1张图片
使用nvidia-htop可以进一步查看更为详细的内容。

nvidia-htop:A tool for enriching the output of nvidia-smi.

可以通过下列代码进行安装:

pip3 install nvidia-htop

运行如下代码:

nvidia-htop.py
# nvidia-htop.py --color # 可以附带颜色,更加炫酷

输出:
Linux报错:RuntimeError: CUDA out of memory._第2张图片
从图中可以看出编号为0,1,2,3的GPU利用率均为0,但四张显卡均有进程占用了GPU的显存,从而导致显存不足的问题。

解决

正常杀死进程:kill -15 pid号
强制杀死进程: kill -9 pid号

注:若kill后仍报错RuntimeError: CUDA out of memory.,尝试适当降低batchsize大小或把模型改小一点

参考文献

pytorch: 四种方法解决RuntimeError: CUDA out of memory. Tried to allocate … MiB

你可能感兴趣的:(linux,服务器,人工智能,python)