You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

InvokeAI切换模型时CUDA内存不足异常(剩余显存充足)

解决InvokeAI运行Stable Diffusion时的PyTorch/CUDA内存分配错误

针对RTX 2080(8GB显存)运行InvokeAI时出现的显存剩余充足却触发小容量分配失败、连带CPU内存分配错误问题,可按以下步骤排查修复:

1. 清理PyTorch显存缓存

显存碎片是这类假显存不足报错的常见原因,手动清理缓存可快速释放碎片空间:

  • 在InvokeAI的终端交互界面中执行:torch.cuda.empty_cache()
  • 编辑InvokeAI启动脚本,在模型切换、生成任务结束后自动调用该命令,避免碎片累积。

2. 调整InvokeAI显存优化参数

针对8GB显存的显卡,强制启用轻量化显存分配策略:

  • 启动InvokeAI时添加参数:--xformers,启用xFormers显存优化,减少碎片和占用
  • 启用低显存模式:添加--medvram(中等显存优化)或--lowvram(低显存优化),让模型分层加载到显存,避免一次性占用过多资源
  • 关闭GUI冗余功能:在设置中禁用实时预览、自动保存高分辨率历史图,减少后台显存消耗

3. 修复PyTorch与CUDA版本不兼容

版本不匹配会导致显存分配逻辑异常:

  • 卸载现有PyTorch:pip uninstall torch torchvision torchaudio -y
  • 安装适配RTX 2080的版本(支持CUDA 11.8):
    pip install torch==2.0.1+cu118 torchvision==0.15.2+cu118 --index-url https://download.pytorch.org/whl/cu118
    
  • 验证安装:执行torch.cuda.is_available(),返回True则说明适配成功

4. 解决CPU内存连带报错

CPU内存不足会触发连锁分配失败:

  • 启动InvokeAI时限制CPU内存使用:--cpu-memory-limit 16G(根据你的物理内存调整,比如16G或32G)
  • 关闭后台占用内存的程序(浏览器、办公软件、视频工具等),释放CPU内存空间

5. 调整系统与PyTorch底层设置

  • 确保系统虚拟内存充足:设置为物理内存的1.5-2倍,避免显存溢出到CPU内存时无空间可用
  • 禁用可能导致碎片的优化:在InvokeAI配置文件中添加torch.backends.cuda.enable_mem_efficient_sdp(False),部分场景下该优化会加剧显存碎片

内容的提问来源于stack exchange,提问作者Aresiel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 10:35:27