快速结论:该报错发生在 Ollama 使用 MLX 后端运行 Qwen3.8-27B 视觉模型处理超高分辨率图片时,因视觉 token 未在切块前缩放而触发超大显存分配导致崩溃。优先排查是否已升级到包含修复的 Ollama 0.32.15 或更高版本,并建议先通过缩小图片绕过问题。
适用环境:Ollama 0.32.13(已验证)、macOS 26.6.1 / 26.2、Apple M5 Pro 48GB / M4 Max 128GB(均为 Apple Silicon Mac),模型为 Qwen3.8-27-mlx-nv4-thinking:latest。
最快修复方案:暂无确认的一步修复方案;但已有验证有效的临时绕过方案:将图片最长边缩放至 1568px(如使用 sips -Z 1568)后即可正常推理。
注意事项:该方案仅验证了 5712×4284 输入场景,且属于规避而非修复;升级到 0.32.15 或更高版本可能已包含 MLX 修复(部分用户反馈 0.32.15 未包含修复提交,需进一步确认里程碑版本),但 Issue 中未给出明确验证结果。
问题场景
在 Ollama 中使用 MLX 后端(Apple Silicon 专用)加载 Qwen3.8-27B 视觉模型,通过 /api/chat 或 WEBUI 传入高分辨率图片(如 5712×4284,约 24.5MP)进行视觉推理时,runner 进程触发 Metal 缓冲区分配错误并崩溃。
报错原文
Error: 500 Internal Server Error: mlx runner failed: panic: mlx: [metal::malloc] Attempting to allocate 133872076800 bytes which is greater than the maximum allowed buffer size of 30150672384 bytes. at /Users/runner/work/ollama/ollama/build/darwin-sources/_deps/mlx-c-src/mlx/c/transforms.cpp:73
原因分析
可能原因:Qwen3.8-27B 视觉模型的 MLX 预处理管线未在图像切块(patchification)前执行类似 max_pixels 的缩放步骤,导致视觉 token 数量随原始输入分辨率线性增长。以 5712×4284 图像按 14px 切块估算约产生 12.5 万 token,自注意力矩阵在无上限情况下需要约 124.7GB 显存,超过 Metal 单缓冲区上限(28.1GB)。Issue 评论中的二分测试也证实请求分配量随分辨率增长,且在超过约 4080px 后停止在 2^37=128GB(恰好对应当前机器总内存),疑似被钳位而非计算。
环境排查
- 确认 Ollama 版本:0.32.13 已复现;0.32.15 是否包含修复需自行验证。
- 确认使用 Apple Silicon Mac(已验证 M5 Pro 48GB / M4 Max 128GB),且模型需为 Qwen3.8-27-mlx-nv4-thinking:latest。
- 测试
num_ctx是否为 8192 或默认值——已验证该参数不参与问题。 - 确认图片分辨率:3072² 和 3584² 正常(耗时 65~139s),3840² 及以上触发崩溃。
解决步骤
- 临时绕过(已验证):在调用前将图片最长边缩放至 1568px,推荐命令:
sips -Z 1568 原图.jpg --out 缩放.jpg,然后使用缩放后的图片发起视觉请求。 - 升级修复:检查是否有 Ollama 0.32.15 或更高版本;Issue 中称“MLX update with the fix is included in 0.32.15”,但评论指出 0.32.15 可能未包含修复提交,需等待 0.32.16 或其他里程碑版本,建议关注 release notes 中的 MLX 更新记录。
- 验证修复生效:若升级后仍复现,可先用 3840² 的 PNG 图片做二分测试确认是否仍触发相同的 panic 报错。
验证方法
使用原先触发崩溃的图片(如 5712×4284 JPEG 或 3840² 以上 PNG)重新发起视觉推理请求。若推理正常完成且无 500 错误,且系统日志中不再出现 metal::malloc panic 信息,则说明问题已解决。
参考来源
AI 工具推荐
想把多个 AI 模型放在一个入口?
GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。
推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。
这个方案解决了吗?
可以继续搜索完整报错,或查看同一工具的其他排查指南。
![[Question]: How to deal with the situation that the user_id returned in the Conversation table in the database is null?](https://www.chat-gpts.plus/wp-content/uploads/2026/08/7940-bcfd3c79-768x403.jpg)
![[Question]: dependency failed to start: container ragflow-mysql is unhealthy](https://www.chat-gpts.plus/wp-content/uploads/2026/08/7501-3cad0829-768x403.jpg)
