回到頂部

Ollama Windows GPU 設定教學:NVIDIA、AMD、WSL2 怎麼確認有跑到顯卡?

Ollama Windows GPU 設定完整教學:NVIDIA、AMD、Docker、WSL2、ollama ps、nvidia-smi、顯存不足與 CPU fallback 排查。

很多人安裝 Ollama 後第一個卡點不是「模型怎麼選」,而是:到底有沒有跑到 GPU?

這個問題在 Windows 特別常見。因為你可能同時有 Windows 原生版、Docker Desktop、WSL2、NVIDIA 驅動、AMD 驅動、工作管理員、PowerShell、VS Code 外掛,任何一層設定錯,Ollama 都可能退回 CPU 推論。

如果只想快速判斷,先記住這句:

跑模型後用 ollama ps 看處理器欄位;NVIDIA 使用者再開 nvidia-smi,確認有 ollama 或相關 runner 進程。

只看 Windows 工作管理員不夠,因為 LLM 推論可能吃 CUDA、Compute、VRAM,不一定會明顯出現在你習慣看的 3D GPU 圖表裡。


先確認你的安裝方式

Windows 上常見有三種 Ollama 路線。

路線適合誰GPU 注意事項
Windows 原生安裝大多數使用者安裝後背景服務自動啟動,官方支援 NVIDIA 與 AMD Radeon
Docker Desktop想搭 Open WebUI、服務化部署要讓容器取得 GPU,NVIDIA 需要 container toolkit
WSL2開發者、Linux 工作流Windows 驅動與 WSL2 內部環境都要正確

如果只是個人使用,優先用 Windows 原生安裝。Docker 與 WSL2 比較適合你已經知道自己為什麼需要它。


Windows 原生版:最短檢查流程

1、安裝與更新驅動

到 Ollama 官網安裝 Windows 版。官方文件列出的基本條件是 Windows 10 22H2 或更新版本;NVIDIA 使用者需要 452.39 或更新驅動,AMD Radeon 使用者則要安裝 AMD 官方驅動。

安裝完後打開 PowerShell:

ollama --version

接著先跑一個小模型:

ollama run llama3.2

第一次會下載模型,下載完才會開始推論。

2、用 ollama ps 確認處理器

模型正在跑時,另開一個 PowerShell:

ollama ps

你要看的是模型是否顯示正在使用 GPU 或部分層數跑在 GPU。不同版本顯示格式可能略有差異,但重點是不要只看模型有沒有啟動,要看它實際使用的處理器與載入狀態。

3、NVIDIA 用 nvidia-smi 交叉確認

NVIDIA 使用者再跑:

nvidia-smi

如果 Ollama 正在用 CUDA,通常會看到相關進程與顯存占用。這比工作管理員可靠。


常見問題一:為什麼有顯卡還是跑 CPU?

最常見原因有四個。

一、驅動太舊

先更新 NVIDIA 或 AMD 官方驅動。Windows Update 自動裝的驅動有時能顯示畫面,但不一定適合本地 LLM 推論。

NVIDIA 使用者至少先確認:

nvidia-smi

如果這個指令不存在或報錯,Ollama 看不到 GPU 很正常。

二、模型超過顯存

本地 LLM 的關鍵不是「我有沒有 GPU」,而是模型加上 KV cache 能不能放進 VRAM。

簡單估算:

顯存建議模型
6GB 以下1B 到 3B 小模型
8GB7B/8B Q4 量化模型
12GB8B Q5 或部分 14B Q4
16GB14B Q4 較舒服
24GB 以上可嘗試 30B 或更大模型

如果模型放不進顯存,系統會把部分工作丟回 CPU 或系統記憶體,速度會突然掉很多。

三、context window 開太大

同一個模型,context 越大,KV cache 越吃顯存。你可能 4K context 跑得很快,拉到 16K 後突然變慢。

Ollama 可用環境變數調整 context:

$env:OLLAMA_CONTEXT_LENGTH="4096"

需要長文時再提高,不要預設就開很大。

四、你其實跑在 Docker 或 WSL2 裡

Windows 主機看得到 GPU,不代表 Docker 容器或 WSL2 也看得到。這是很多人誤判的來源。


Docker Desktop:要讓容器看得到 GPU

如果你用 Docker 跑 Ollama 或 Open WebUI,NVIDIA GPU 需要讓容器取得顯卡。

典型檢查:

docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

如果這個都看不到 GPU,Ollama 容器也不會看到。

跑 Ollama 容器時要加:

docker run -d --gpus all -p 11434:11434 --name ollama ollama/ollama

再進容器或透過 API 跑模型,觀察主機 nvidia-smi 的顯存變化。


WSL2:適合開發者,但不要一開始就選

WSL2 的好處是 Linux 工具鏈完整,適合搭 Python、LangChain、向量資料庫或自動化 pipeline。

但對新手來說,WSL2 增加了除錯層數:

  • Windows NVIDIA 驅動要正確。
  • WSL2 內要能看到 nvidia-smi
  • Ollama 安裝在 Windows 還是 WSL2 要分清楚。
  • VS Code 外掛連的是哪一個 Ollama 服務也要確認。

如果你只是要本地聊天或接 Open WebUI,Windows 原生版通常比較省事。


實用排查清單

照這個順序查,通常能抓到問題。

1、確認 Ollama 版本:

ollama --version

2、確認模型正在跑:

ollama run llama3.2

3、另開 PowerShell 看載入狀態:

ollama ps

4、NVIDIA 使用者看顯存:

nvidia-smi

5、如果速度很慢,換小模型:

ollama run qwen2.5:3b

6、如果小模型正常、大模型很慢,多半是顯存不足,不是 Ollama 壞掉。


該用哪個模型測試 GPU?

第一次測試不要直接拉 70B。先用小模型確認 GPU pipeline 正常。

測試目的建議模型
確認能跑llama3.2 或 3B 等級模型
測 Windows GPU 是否正常7B/8B Q4 模型
測寫程式Qwen Coder 或 DeepSeek Coder 小型版本
測中文Qwen 系列通常比純英文模型穩

如果你只是要確認「有沒有吃 GPU」,小模型就夠;要測顯存壓力,再逐步拉大。


Mason 的判斷

Ollama 在 Windows 上已經比兩年前成熟很多,真正麻煩的不是安裝,而是使用者不知道自己跑在哪一層:Windows 原生、Docker、WSL2、Open WebUI、VS Code 外掛,各自都可能連到不同的 Ollama 服務。

最穩的學習順序是:先 Windows 原生跑通,再加 Open WebUI,最後才碰 Docker 或 WSL2。

如果你的目標是隱私、本地文件整理、簡單 RAG,8GB 到 12GB 顯存已經能做很多事。若你的目標是長上下文、多代理、複雜寫程式,本地模型仍然比較吃力,應該把 Ollama 當雲端模型的補充,而不是完全替代。


來源

№ · further reading

延伸閱讀