我不断出现 Cuda 内存不足错误,我有一个带有 24GB vram 的 3090,torch 只分配 7GB,15GB 总是空闲的。
运行时错误:CUDA 内存不足。尝试分配 92.00 MiB(GPU 0;24.00 GiB 总容量;6.90 GiB 已分配;14.90 GiB 空闲;PyTorch 总共保留 6.98 GiB)如果保留内存 >> 已分配内存,请尝试设置 max_split_size_mb 以避免碎片。请参阅内存管理和 PYTORCH_CUDA_ALLOC_CONF
的文档我还检查了nvidia smi是否有其他进程占用内存,没有发现
这是出现错误之前的内存使用高峰
有什么帮助吗?
似乎有什么东西阻止了 torch 访问您卡上超过 7GB 的内存。尝试在脚本开头运行
torch.cuda.empty_cache()
,这将释放所有可以安全释放的内存。
如果这不起作用,请尝试尽可能多地终止使用 GPU 列出的进程 - 并可能重新启动计算机。即使进程的
GPU Memory Usage
列显示 N/A
,它也可能会保留一定量的内存。如果许多进程在大范围的块中保留少量内存,则可能会阻止 torch 充分利用可用资源。