iMac not using GPU

在 Intel 版 iMac 上运行 Ollama 进行推理时,如果 ollama ps 显示 100% CPU,并且服务日志中没有出现 GPU 设备信息,就说明 Ollama 没有检测到可用的 Metal GPU。优先排查两点:是否错误地在 Docker 中运行 Ollama,以及该 AMD Ra

快速结论:在 Intel 版 iMac 上运行 Ollama 进行推理时,如果 ollama ps 显示 100% CPU,并且服务日志中没有出现 GPU 设备信息,就说明 Ollama 没有检测到可用的 Metal GPU。优先排查两点:是否错误地在 Docker 中运行 Ollama,以及该 AMD Radeon 显卡在 Ollama 的 macOS 构建中是否被支持。

适用环境:Ollama 0.6.8;macOS Sonoma 14.7.2;Intel CPU;AMD Radeon Pro Vega 48 8 GB(Metal 3);Retina 5K 27-inch 2019。Issue 中未确认 Python、CUDA、PyTorch 版本。

最快修复方案:暂无确认的一步修复方案。可以优先尝试确认 Ollama 并非运行在 Docker 容器内,而是以原生应用或命令行方式在 macOS 基础系统中运行;同时设置 OLLAMA_DEBUG=1 获取设备检测细节,判断 GPU 是否被识别。

注意事项:原生安装可以排除 Docker 不支持 Metal 这一明确原因,但不能保证修复 Intel Mac + AMD 显卡的识别问题;该硬件组合的 GPU 加速支持在 Issue 讨论中没有得出已验证结论。

问题场景

用户在 2019 款 27 英寸 5K iMac(Intel CPU、AMD Radeon Pro Vega 48 8 GB、macOS Sonoma 14.7.2)上通过 Ollama 命令行运行模型。执行 ollama ps 时显示 100% CPU,GPU 完全没有参与推理。用户通过官网安装包安装 Ollama,而非 Homebrew,并已确认系统报告该显卡支持 Metal 3。

报错原文

iMac not using GPU

time=2025-05-15T20:26:23.964+01:00 level=INFO source=types.go:130 msg="inference compute" id="" library=cpu variant="" compute="" driver=0.0 name="" total="16.0 GiB" available="5.0 GiB"

原因分析

服务日志中的 "inference compute" 条目显示 library=cpu,并且设备 id、name 为空,说明 Ollama 没有检测到 GPU。可能原因包括:

  • Ollama 运行在 Docker 容器中。Metal 加速在 Docker 中不受支持,这是讨论中明确指出的一种情况。
  • Intel Mac 搭配 AMD 显卡时,Ollama 的 macOS 构建可能未将该 GPU 作为可用 Metal 设备识别,但这只是根据讨论的推测。
  • 其他设备检测或平台限制问题,需要开启 OLLAMA_DEBUG=1 查看更详细的检测信息后才能判断。

环境排查

  • 确认 Ollama 是否运行在 Docker 容器中,而不是直接运行在 macOS 基础系统上。
  • 确认 Ollama 的安装方式:官网安装包与 Homebrew 安装可能影响 GPU 注册表现,Issue 中提到 Homebrew 曾导致他人 GPU 无法注册。
  • 确认 ollama ps 输出中处理器列是否持续显示 100% CPU。
  • 确认 macOS 版本与显卡 Metal 支持情况,用户侧已确认为 Sonoma 14.7.2、Metal 3。
  • 开启 OLLAMA_DEBUG=1 后检查服务日志中是否有 GPU 设备检测相关记录。
  • Issue 未提供 Python、CUDA、PyTorch 或依赖版本信息,无需排查这些项目。

解决步骤

  1. 先确认当前 Ollama 是否由 Docker 运行。若使用 Docker,需要改为在 macOS 基础系统中原生安装和运行 Ollama,因为 Docker 不支持 Metal 加速。
  2. 在原生 macOS 环境中启动 Ollama 服务,并在服务环境中设置 OLLAMA_DEBUG=1,重新运行推理请求。
  3. 查看服务日志中 "inference compute" 相关行,确认是否仍然只有 library=cpu,以及是否出现 GPU 设备名称或 ID。
  4. 如果开启调试后仍无 GPU 检测信息,可参考 Issue 讨论中提到的相关历史 Issue(#1016、#5652)进一步确认平台支持情况;该硬件组合的 GPU 加速支持尚未在该 Issue 中获得确认修复。

验证方法

重新运行模型推理后,执行 ollama ps,观察处理器使用是否仍为 100% CPU。同时检查服务日志中的 "inference compute" 条目:如果不再显示 library=cpu,并出现有效的 GPU 设备名称和 ID,说明 GPU 已被识别。如果仍然只有 CPU 条目,说明问题未解决。

参考来源

ollama/ollama #10715

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 29781

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注