
Vulkan is enabled by default and can’t be disabled with OLLAMA_VULKAN=0
快速结论:该报错通常出现在用户使用 Ollama v0.12.11 或 v0.13.0 时,设置 OLLAMA_VULKAN=0 但发现 Vulkan 仍然被启用,导致系统使用集成 GPU 而非 CPU,性能下降。优先排查:确认系统使用的后端是 CUDA 而非 Vulkan,区分日志中的“GPU”字样是否指向 CUDA。
问题场景
用户在运行 Ollama 服务时(使用 OLLAMA_VULKAN=0 ollama serve),观察到日志中仍有 Vulkan 相关输出,误以为 Vulkan 无法被禁用。最终发现这是一个 NixOS 打包版本的特殊 bug,官方二进制版本中该环境变量工作正常。
报错原文
$ OLLAMA_VULKAN=0./bin/ollama serve
time=2025-11-23T11:38:41.941+01:00 level=INFO source=routes.go:1544 msg="server config" env="map[... OLLAMA_VULKAN:false ...]"
time=2025-11-23T11:38:42.308+01:00 level=INFO source=runner.go:102 msg="experimental Vulkan support disabled. To enable, set OLLAMA_VULKAN=1"
用户看到日志显示 OLLAMA_VULKAN:false 同时有 Vulkan support disabled 的信息时,认为 Vulkan 仍在占用资源。实际日志还包含:
time=2025-11-23T11:38:42.308+01:00 level=INFO source=types.go:42 msg="inference compute" id=GPU-... library=CUDA compute=6.1 name=CUDA0 description="NVIDIA GeForce GTX 1050" ...
这表明实际使用的后端是 CUDA,而非 Vulkan。
原因分析
可能原因:用户混淆了 Vulkan 和 CUDA 后端。日志中显示 Vulkan 已被禁用(因为 OLLAMA_VULKAN=0),但 GPU 仍然被使用(通过 CUDA 后端)。用户“GPU”字样出现,误以为图像单元是 Vulkan,实际是 CUDA。对于 NixOS 打包版本,可能存在一个独立 bug,导致 Vulkan 无法通过 OLLAMA_VULKAN=0 禁用。
环境排查
- 确认 Ollama 版本(v0.12.11 或 v0.13.0)是否为官方二进制版本。
- 检查是否使用了 NixOS 或 nixpkgs 打包的 Ollama。
- 确认环境变量
OLLAMA_VULKAN是否被正确设置(在日志中查看OLLAMA_VULKAN:false)。 - 使用
nvidia-smi检查 GPU 是否被占用,并确认是哪个进程在使用。 - 检查系统是否同时有集成 GPU 和独立 GPU(如 NVIDIA GeForce GTX 1050)。
解决步骤
- 运行
OLLAMA_VULKAN=0 ollama serve并检查日志,确认inference compute行的library=CUDA而不是library=Vulkan。 - 确认日志中有“Vulkan support disabled”信息,表示 Vulkan 已被禁用。
- 如果仍然怀疑 Vulkan 被使用,检查更详细的模型加载日志,查找类似
load_tensors: CUDA0 model buffer size的输出,确认使用了 CUDA。 - 如果是在 NixOS 上运行且遇到问题,该 Issue 表明这是 NixOS/nixpkgs 的一个 bug,并非官方二进制的问题。建议使用官方 Linux 二进制文件,或向 NixOS 提交报告。
- 如果需要强制仅使用 CPU,可以尝试设置
OLLAMA_GPU_OVERHEAD=0或CUDA_VISIBLE_DEVICES=""(仅针对 CUDA 禁用,不针对 Vulkan)。
验证方法
查看 service 日志,确认存在 inference compute 行显示 library=CUDA 而不是 library=Vulkan,同时 Vulkan support disabled 行正常出现。使用 nvidia-smi 查看 Ollama 进程的 GPU 占用情况,确认其使用量正常。如果之前怀疑 Vulkan 导致性能下降,对比设置 OLLAMA_VULKAN=0 前后推理速度是否有变化(预期无变化,因为 Vulkan 已被禁用)。


![[Bug]: test_flashinfer_cutlass_mxfp4_fused_moe accuracy mismatch on H20 (sm90) — 89% mismatch vs 20% threshold](https://www.chat-gpts.plus/wp-content/uploads/2026/06/46585-55e7134d-768x403.jpg)
