报错
099
硬件、驱动、操作系统与非 N 卡环境
有来源可查
Apple Silicon Mac 报 MPS backend out of memory——统一内存被 MPS 缓存吃满
报错原文(原样)
RuntimeError: MPS backend out of memory (MPS allocated: 8.72 GB, other allocations: 110.16 MB, max allowed: 9.07 GB). Tried to allocate 405.00 MB on private pool. Use PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable upper limit for memory allocations (may cause system failure).
检索关键词
MPS backend out of memory、PYTORCH_MPS_HIGH_WATERMARK_RATIO、max allowed、private pool、KSampler、Apple Silicon
先看这一句
Mac(M1/M2/M3/M4)上跑到 KSampler 或 VAE 解码阶段报 MPS backend out of memory;提高分辨率或换更大的模型必崩。
适用版本 仅 macOS + Apple Silicon(MPS)。官方文档要求 macOS 12.0 或更高(MPS 自动检测在 macOS 12.3+),macOS 14.5+ 另有黑图 bug 需 --force-upcast-attention。
·
核实日期 2026-09-26
·
状态 已核实
适用环境:全部主流环境
现象与触发场景
常见触发场景:
- 8GB/16GB 统一内存的 Mac 跑 SDXL / Flux 等高分辨率工作流
- 同时开了浏览器、设计软件等占用统一内存的程序
- VAE 解码阶段瞬时内存峰值超过可用统一内存
根因
- MPS 后端使用统一内存,显存与内存是同一池子;PyTorch 的 MPS 分配器会把已释放的缓存留在池里(缓存分配),导致“看着没占用却报 OOM”。
- VAE 解码阶段会产生瞬时大峰值,是 Mac 上最常爆内存的节点。
- Torch 在 MPS 上对高水位比例有默认限制,超过比例就直接报 MPS backend out of memory。
解决步骤
已按「最可能有效」排序。请从上往下做,每做完一步用「验证」确认,不要一次改五处。
- 按报错提示放宽 MPS 分配上限(或改小工作负载)报错本身给出了办法:设置环境变量 PYTORCH_MPS_HIGH_WATERMARK_RATIO 来调整上限;设为 0.0 表示不限制(报错原文同时警告可能造成系统不稳定/崩溃,因此更稳妥的做法是设成一个比默认更高的比例而不是 0.0)。Apple Silicon 是统一内存,显存与内存同一个池子,所以要同时关掉其他吃内存的程序。set PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 python main.py
- 降低峰值:VAE 走 CPU、用低显存模式、减小分辨率与 batchVAE 解码是 Mac 上最容易爆内存的节点,官方文档给出的参数是 --cpu-vae 把 VAE 放到 CPU 计算;再配合 --lowvram / --novram 让模型更激进卸载,并显著下调分辨率与 batch。MPS 在后端不支持的算子上会自动回退 CPU,所以 VAE 走 CPU 通常也能显著降峰值。python main.py --cpu-vaepython main.py --lowvrampython main.py --novram
- 处理 macOS 14.5+ 的黑图问题;MPS 反复出问题时退回 CPU 模式官方文档指出 macOS 14.5 及以后有已知 bug 会导致黑图,需要 --force-upcast-attention 强制上采样注意力;若 MPS 仍然频繁 OOM 或出错,官方建议退回 CPU 模式(慢但稳定)。python -c "import torch; print(torch.backends.mps.is_available())"python main.py --force-upcast-attentionpython main.py --cpu
验证是否修好
同一工作流不再报 MPS backend out of memory 并正常出图;活动监视器里 ComfyUI 进程内存占用保持在统一内存容量之内。
补充说明
报错原文逐字取自 Comfy-Org/ComfyUI issue #5810 的 Debug Logs(本采集已通过 GitHub API 核实该 issue 正文,同 issue 中 M4 Max 用户报出 MPS allocated: 88.02 GiB, max allowed: 88.13 GiB 的同类报错)。该 issue 目前仍为 open,评论里没有官方最终解法,因此第一条解法直接采用报错自带的 PYTORCH_MPS_HIGH_WATERMARK_RATIO 提示。官方文档给出的 MPS 相关参数为 --force-upcast-attention、--cpu-vae、--cpu。
来源
按可信度排列:官方 issue / 官方文档 > 节点仓库 issue > 社区帖 > 中文社区文章。
链接以纯文本给出(本站不做站外跳转),需要核对时请自行复制到浏览器打开。
- [222] (官方 issue) KSampler MPS backend out of memory · Issue #5810 · Comfy-Org/ComfyUI https://github.com/Comfy-Org/ComfyUI/issues/5810
- [215] (官方文档) GPU Troubleshooting - ComfyUI(Apple Silicon (MPS) 一节) https://mintlify.wiki/Comfy-Org/ComfyUI/guides/gpu-troubleshooting
- [136] (官方文档) Common Issues and Solutions - ComfyUI(macOS 黑图 / --force-upcast-attent https://mintlify.wiki/Comfy-Org/ComfyUI/guides/common-issues
- 热门自定义节点/工作流专有报错(11 条)
这条报错要用到的东西
按本条报错所属的类别(硬件、驱动、操作系统与非 N 卡环境)列出站内相关的下载包与板块入口。 它们不是「必须下载才能修好」,而是这一类问题里最常要动到的东西;具体怎么做,以上面的解决步骤为准。
环境与依赖配置包依赖版本组合清单 / 环境自检脚本说明
待挂载
同一类别的其他条目
【089】50 系显卡(RTX 5060 Ti / 5070 / 5080 / 5090)驱动版本太旧,ComfyUI 启动或生成直接失败
含未核实
【090】RTX 50 系 / 新卡报 CUDA error: no kernel image is available for execution on the device(跑到了没有 sm_120 kernel 的 torch 上)
有来源
【091】Blackwell 显卡生成在第一个注意力层失败:cuDNN Frontend error: No valid execution plans built
含未核实
【092】在 cmd 里敲 nvidia-smi 提示“不是内部或外部命令”:驱动装的是 DCH/未装 NVIDIA 驱动或 PATH 里没有 System32
有来源
【093】ComfyUI Desktop 报 “ComfyUI requires an NVIDIA GPU on Windows. No NVIDIA GPU was detected” 卡在启动页(含被迫用 --cpu 的慢速兜底)
有来源
这个解法对你有效吗
记录只存在你自己的浏览器里,不需要注册账号。
知仓学习社