Mac 的 MPS backend out of memory:先看统一内存压力
Apple Silicon 上的任务触发 MPS 内存上限。Mac 使用统一内存,浏览器、其他应用、模型和中间张量会共同影响可用空间,不能把机器总内存全部视为可分配给当前生成任务。
现象与适用范围
Apple Silicon 上的任务触发 MPS 内存上限。Mac 使用统一内存,浏览器、其他应用、模型和中间张量会共同影响可用空间,不能把机器总内存全部视为可分配给当前生成任务。
检索用原文或片段(具体编号、数值和文件名随环境变化):
MPS backend out of memory
PYTORCH_MPS_HIGH_WATERMARK_RATIO
已核对的依据
PyTorch 的 MPS 文档说明高水位参数控制分配上限,并警告禁用相关限制存在系统级风险。issue #7171 记录了具体 Mac OOM 报告;报错中提到某个环境变量不等于该值就是安全推荐。 P05 I09 Apple 活动监视器说明
需要区分的情况
1. 画面、批量或视频长度超出本次内存余量。
2. 多个模型、应用或浏览器标签同时使用统一内存,工作负载相互竞争。
3. 特定版本或节点产生异常驻留、后端 fallback 或内存管理问题,需要与基础流程对照。
建议的操作顺序
以下顺序是基于上述资料整理的诊断方案,不代表上游已经为你的环境确认了原因。
第 1 步。 记录 Mac 内存容量、Torch 版本、节点和任务参数,查看活动监视器的内存压力与交换使用情况。
第 2 步。 保存工作后关闭确认不需要的高内存程序并停止并发生成。仅在当前工作流和模型支持时,选择批量、画面尺寸或帧数中的一个输入因素做缩减对照。
第 3 步。 仅在失败阶段与工作流支持时,采用有文档依据的设置减少模型驻留或解码负载;使用适配 MPS 的工作流,不为了减少内存随意换成不支持的 FP8 模型。
第 4 步。 只有读懂本版本 PyTorch 参数含义后才调整上限,保留回退方法。若最小官方流程仍异常,收集日志到对应项目报告。
如何判断处理有效
单任务可以完成且系统保持响应,内存压力没有持续恶化;将输入放大时逐步观察,而不是直接恢复最大设置。
注意事项与尚未确认的部分
不建议把高水位设为 0 作为默认教程。CPU fallback 不是无限内存,也不能自动解决任意不支持的 dtype。
资料核对日期:2026-09-21。本站未执行此工作流,未进行 GPU、最低显存或耗时测试。
原始资料
- P05 · MPS environment variables。核对:2026-09-21。
- I09 · MPS backend out of memory。核对:2026-09-21;原始日期:2025-03-10。
- Apple 活动监视器内存使用说明。核对:2026-09-25。
相关排查与操作
排查下一个可能的原因
同样的现象可能来自不同原因。可以按顺序查看下面这些相关条目。
把完整日志粘贴到报错排查工具这篇内容对你有帮助吗?
匿名统计,只记录“有/没有帮助”的计数,不记录账号、IP 地址或设备信息。
资料来源
基于上游文档、源代码或标注为个案的错误报告整理。诊断顺序由本站编排;没有执行、硬件测试或保证修复的结论。
01MPS environment variables资料核对: 2026-09-2102MPS backend out of memory资料核对: 2026-09-2103Apple Activity Monitor memory usage资料核对: 2026-09-25报告问题 · b6b344f0-5dfd-5d61-ace6-7cc057fcd74f
相关阅读
编辑为本页关联的条目。
本页整理没有额外硬件时如何建立可比较的小任务基线。目标是找到某个具体环境的可运行范围,而不是从模型名字推测一个对所有人有效的最低显存数字。