
Model qwen3-embedding:8B cannot use GPU under Ollama 0.30.0
快速结论:Ollama 0.30.0 在 Windows 双显卡(NVIDIA 独立显卡 + Intel 集成显卡)环境下,嵌入模型 qwen3-embedding:8B 可能被错误调度到集成显卡(Intel Arc)而非独立显卡(NVIDIA RTX 4060),甚至因 GPU 发现超时导致模型完全无法加载 GPU。优先排查 OLLAMA_VULKAN 环境变量和 OLLAMA_IGPU_ENABLE 设置。
问题场景
用户在 Windows 11 上运行 Ollama 0.30.0/0.30.4,使用 GeForce RTX 4060 Laptop GPU 作为主要计算卡。加载 qwen3-embedding:8B 模型时,GPU 内存占用率为 0%,模型实际运行在 CPU 或 Intel Arc 集成显卡上,速度极慢。
报错原文
time=... level=WARN source=runner.go:575 msg="llama-server GPU discovery watchdog timed out" OLLAMA_LIBRARY_PATH="[...]" extra_envs=map[] error="context deadline exceeded"
time=... level=INFO source=runner.go:513 msg="failure during llama-server GPU discovery" OLLAMA_LIBRARY_PATH="[...]" extra_envs=map[] error="context deadline exceeded"
time=... level=INFO source=sched.go:1014 msg="selecting single GPU for llama-server model" main_gpu=0 id=0 filter_id=0 library=Vulkan name=Vulkan0 description="Intel(R) Arc(TM) Graphics" integrated=false predicted="8.9 GiB" available="12.6 GiB"
原因分析
从 Server 日志中可以看到:
- 环境变量
OLLAMA_VULKAN:true被启用,这会让 Ollama 优先使用 Vulkan 后端。 - GPU 发现阶段:NVIDIA RTX 4060 被标记为
"dropping integrated GPU",但实际 Intel Arc 集成显卡被选为推理计算设备(library=Vulkan, description=”Intel(R) Arc(TM) Graphics”)。 - NVIDIA 4060 被识别为 CUDA 设备(library=CUDA, compute=8.9),但最终调度器选择了 Vulkan 后端的 Intel 显卡。
llama-server GPU discovery watchdog timed out表明 GPU 发现过程超时,可能导致模型加载时无法正确绑定 GPU。
可能原因:
- Ollama 0.30.x 的调度策略在双显卡系统上优先选择 Vulkan 而非 CUDA。
- 嵌入模型(embedding model)的 CPU/GPU 分配规则与文本生成模型不同,可能更容易落到集成显卡。
- 用户设置了
OLLAMA_VULKAN=true但未设置CUDA_VISIBLE_DEVICES,导致 NVIDIA 显卡未被显式选中。
环境排查
- 确认 Ollama 版本(用户实际运行 0.30.4,但标签包含 0.30.0)。
- 确认系统环境变量:
OLLAMA_VULKAN、CUDA_VISIBLE_DEVICES、OLLAMA_IGPU_ENABLE。 - 确认显卡驱动:NVIDIA 驱动版本(日志显示 driver=13.0)。
- 确认模型 hash:
sha256-3fcd3febec8b...对应的 qwen3-embedding:8B 是否损坏。 - 确认任务管理器:GPU 0(NVIDIA)内存使用率 0%,Intel Arc 内存使用率 100%。
解决步骤
- 优先尝试:关闭
OLLAMA_VULKAN,强制使用 CUDA 后端。在启动 Ollama 前设置环境变量:set OLLAMA_VULKAN=off或$env:OLLAMA_VULKAN='off'。 - 如果问题仍然存在,显式指定 NVIDIA 显卡:
set CUDA_VISIBLE_DEVICES=0让 Ollama 只识别 NVIDIA RTX 4060。 - 检查
OLLAMA_IGPU_ENABLE设置。日志中有一条“dropping integrated GPU”,但最终调度器仍选择了 Intel 显卡。尝试set OLLAMA_IGPU_ENABLE=0强制禁用集成显卡。 - 在 Ollama 服务日志中观察
selecting GPU backend for llama-server model的决策记录。如果依然选择 Vulkan+Intel,可以临时删除 Ollama 的 Vulkan 库路径(不推荐,仅用于诊断)。 - 更新 Ollama 到最新版本(日志中已经是 0.30.4,但 Issue 标签为 0.30.0,可能是未更新的稳定版)。检查 GitHub Release 中该问题的修复 commit。
验证方法
重启 Ollama 服务后,使用 ollama run qwen3-embedding:8B 加载模型,同时打开任务管理器 -> GPU 选项卡,观察 NVIDIA GPU 的内存使用率是否明显上升(>10%),Intel 显卡的负载是否下降。也可以在日志中搜索 "selecting single GPU" 确认选中的显卡描述包含 "NVIDIA" 而非 "Intel"。

![Misc. bug: [ROCm] Significantly lower token generation performance vs Vulkan on RX 7900 XTX (gfx1100)](https://www.chat-gpts.plus/wp-content/uploads/2026/06/20934-97b8a216-768x403.jpg)

