gpt4 book ai didi

python - 如何解决 ""RuntimeError : CUDA out of memory.”?有没有办法释放更多内存?

转载 作者:行者123 更新时间:2023-12-01 06:44:48 25 4
gpt4 key购买 nike

在本例中,我在虚拟机上使用 jupyter 笔记本来训练一些 CNN 模型。该虚拟机具有 16v CPU 和 60GB 内存。我刚刚安装了 NVIDIA TESLA P4 以获得更好的性能。但它总是给出类似 "RuntimeError: CUDA out of memory. Tried to allocate 196.00 MiB (GPU 0; 7.43 GiB total capacity; 2.20 GiB already allocated; 180.44 MiB free; 226.01 MiB cached)" 的错误

为什么会发生这种情况?系统一切都是干净的。我想知道为什么我只有这么少量的可用内存?

我认为 GPU 设置没有错误

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.33.01 Driver Version: 440.33.01 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 Tesla P4 Off | 00000000:00:04.0 Off | 0 |
| N/A 38C P0 22W / 75W | 0MiB / 7611MiB | 2% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+

最佳答案

当进程在 GPU 上分配内存时,该内存只能由该进程释放或在进程终止时释放。如果您看到 CUDA 内存不足错误,但没有其他任何东西正在运行,那么我建议使用类似 nvtop 的工具找出谁占用了你的 CUDA 内存。它看起来像这样:

enter image description here

在底部您可以看到 GPU 内存和进程命令行。在上面的示例中,突出显示的绿色进程占用了 GPU RAM 的 84%。您可以使用向上/向下箭头选择进程并按 F9 终止该进程。有时,当我运行训练脚本时,它们不会被终止,并且它会显示在此处占用 CUDA 内存。

注意:nvtop 安装在 Ubuntu 18 上有点复杂,但您可以使用的其他工具是 gpustat只显示 pid。

关于python - 如何解决 ""RuntimeError : CUDA out of memory.”?有没有办法释放更多内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59278657/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com