【发布时间】:2023-03-31 06:05:01
【问题描述】:
我有一台配备 NVidia RTX 2070 GPU 的新笔记本电脑,用于训练 tensorflow 2.1 模型。不幸的是,我遇到了 GPU OOM(内存不足)问题 - 在训练过程中它崩溃了,我减少了 RAM 使用很多,但当然问题仍然存在。
我试图检查导致 GPU 出现 OOM 的原因。当我在终端中输入nvidia-smi 时,我得到以下输出:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64.00 Driver Version: 440.64.00 CUDA Version: 10.2 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce RTX 2070 On | 00000000:01:00.0 Off | N/A |
| N/A 43C P8 6W / N/A | 1009MiB / 7982MiB | 11% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1209 G /usr/lib/xorg/Xorg 72MiB |
| 0 1237 G /usr/bin/gnome-shell 52MiB |
| 0 1565 G /usr/lib/xorg/Xorg 481MiB |
| 0 1693 G /usr/bin/gnome-shell 195MiB |
| 0 12312 G ...uest-channel-token=14048285025818334832 204MiB |
+-----------------------------------------------------------------------------+
这些过程是关于什么的?你能帮我解释和理解它们吗?有什么我可以杀的吗?怎么杀?
【问题讨论】:
-
我有相同的 GPU,但在我的 nvidia-smi 上我只有两个 Xorg 进程,每个进程 14 MiB。就这样。你那个12312的进程,是不是换了个jupyter notebook?我发现有时这些笔记本在我杀死它们时并没有真正死掉,并且会定期发送
ps aux | grep jupyter来找到它们并杀死它们。 -
我没有使用 Jupyter,我正在从终端调用
train.py脚本。你认为我的进程队列有问题吗? -
我不确定。您可以尝试重新启动或终止这些进程(这将使您退出),然后,可能会减少训练的批量大小?如果您的代码支持混合精度 (tensorflow.org/guide/keras/mixed_precision),您也可以尝试启用它。
-
你能写一个关于如何做到这一点的答案吗?对不起,我是 GPU 新手。另外,为了以防万一,杀死jupyter进程的命令是什么?
标签: python tensorflow nvidia