0% read

Gemma 4 跑不動怎麼辦?記憶體不足/速度慢/GPU 問題解決

Apr 7, 2026

Gemma 4 跑起來不對勁?別著急,大部分問題都有現成的解決辦法。這篇整理了社群裡(Reddit、GitHub Issues、論壇)最常遇到的問題和解決方案。

開始排查。

問題一:記憶體不足(OOM)

症狀: 系統當機、程序被終止、出現 CUDA out of memorymmap failed 之類的錯誤,或者系統開始瘋狂使用交換空間。

原因: 模型權重加上 KV cache 超過了你的可用記憶體或顯存。

方案 1:換個小模型

最靠譜的解法。16 GB 記憶體想跑 31B,那是真跑不起來。

# 別用這個了(需要約 20GB)
ollama run gemma4:31b

# 換這個(只需要約 6GB)
ollama run gemma4:e4b

不確定該選多大的模型?看看我們的模型比較指南

方案 2:用更積極的量化

如果你在用 GGUF 檔案,選個更小的量化版本。各種量化選項的詳細說明看 GGUF 量化指南

# Q4_K_M 比 Q8 和 FP16 小得多
huggingface-cli download google/gemma-4-26b-GGUF \
  --include "gemma-4-26b-Q4_K_M.gguf"
量化等級記憶體節省品質影響
Q4_K_M約小 75%極小
Q5_K_M約小 65%很小
Q8_0約小 50%幾乎無

方案 3:縮短上下文長度

KV cache 隨上下文長度增長。Gemma 4 支援最長 262K token,但這個 cache 會很大——社群回饋 31B 模型在最大上下文下 KV cache 單獨就要吃約 22 GB。

# 限制上下文到 4K 或 8K
ollama run gemma4:31b --ctx-size 4096

用 LM Studio 的話,去設定裡把「上下文長度」滑桿調小。

方案 4:開啟 KV Cache 量化

部分推論後端支援對 KV cache 本身做量化,能大幅降低記憶體:

# 在 llama.cpp 裡
./llama-server -m gemma4-31b-Q4_K_M.gguf \
  --ctx-size 8192 \
  --cache-type-k q8_0 \
  --cache-type-v q8_0

方案 5:關掉其他應用程式

聽起來是廢話,但 Chrome 一個瀏覽器就能吃掉 4-8 GB 記憶體。跑大模型之前把瀏覽器、IDE 和其他佔記憶體的應用程式關掉。

問題二:推論速度慢

症狀: 輸出速度像蝸牛——預期 20+ tokens/s 的結果只有 1-2 tokens/s。想全面最佳化速度的話,看看速度最佳化完整指南

方案 1:確認 GPU 是否在工作

速度慢的頭號原因。模型可能完全在用 CPU 跑。

# 檢查 Ollama 是否在用 GPU
ollama ps

看 "PROCESSOR" 這一欄。如果顯示的是 "CPU" 而不是你的 GPU 型號,問題就在這。

方案 2:確認 GPU 卸載已開啟

Ollama 理論上會自動使用 GPU,但有時候偵測不到:

# 查看可用 GPU
ollama show --system

# 強制使用 GPU(所有層)
OLLAMA_NUM_GPU=999 ollama run gemma4:e4b

用 llama.cpp 的話加 -ngl 參數:

# 把所有層卸載到 GPU
./llama-cli -m gemma4-e4b-Q4_K_M.gguf -ngl 999

方案 3:可能是 CPU 瓶頸

如果模型沒辦法完全放進顯存,部分層會在 CPU 上執行,形成瓶頸。辦法:

  • 用更小的模型,讓它完全放進顯存
  • 用更小的量化版本(Q4 代替 Q8)
  • 縮短上下文長度釋放更多顯存給模型層

方案 4:檢查電源設定

筆電的省電模式會同時限制 CPU 和 GPU 效能。確保用的是「高效能」模式或者插著電源。

Mac 使用者:

# 檢查是否開了低耗電模式
pmset -g | grep lowpowermode

問題三:GPU 沒有被偵測

NVIDIA 使用者

檢查 CUDA 驅動:

# 看 CUDA 是否裝好了
nvidia-smi

如果 nvidia-smi 不能用或報錯:

  1. nvidia.com/drivers 安裝或更新驅動程式
  2. developer.nvidia.com/cuda-downloads 安裝 CUDA Toolkit
  3. 重新啟動電腦

確認 Ollama 看到了 GPU:

# 應該顯示你的 GPU 型號
ollama show --system

AMD 使用者

AMD GPU 需要 ROCm,設定起來相對麻煩一些:

  1. 安裝 ROCm:參考 ROCm 安裝指南
  2. 確認你的 GPU 型號被支援(RX 7000 系列相容最好)
  3. 用 ROCm 相容的推論引擎建構版本
# 檢查 ROCm 是否裝好
rocminfo | head -20

已知問題: 部分 AMD 舊顯示卡不被支援。查一下 ROCm 相容性列表。

Mac 使用者(Apple Silicon)

好消息——Ollama 和 llama.cpp 在 Apple Silicon 上預設開啟 Metal 加速。如果不生效的話:

# 檢查 Metal 是否可用
system_profiler SPDisplaysDataType | grep Metal

顯示 "Metal: Supported" 就沒問題。Ollama 會自動在 M1/M2/M3/M4 Mac 上使用 Metal 加速。

問題四:模型下載卡住

Ollama 下載卡住

# 取消重試
# Ctrl+C 停掉,然後:
ollama pull gemma4:e4b

如果一直卡:

  • 檢查網路連線
  • 換個網路試試(開 VPN 或者關 VPN)
  • 看看硬碟空間夠不夠:df -h

Hugging Face 下載卡住

# 啟用高速下載
pip install hf-transfer
HF_HUB_ENABLE_HF_TRANSFER=1 huggingface-cli download google/gemma-4-e4b

可以試試 Hugging Face 鏡像站,速度會快很多。

硬碟空間不夠

# 查看剩餘空間
df -h

# 清理不需要的 Ollama 模型
ollama list          # 看裝了哪些
ollama rm 模型名      # 刪掉不需要的

各模型需要的空間參考:

模型磁碟空間 (Q4_K_M)
E2B~1.5 GB
E4B~3 GB
26B~8 GB
31B~18 GB

問題五:Ollama 報錯

"Error: model not found"

確認模型名拼對了:

# 正確寫法
ollama run gemma4
ollama run gemma4:e4b

# 常見錯誤寫法
ollama run gemma-4        # 中間不能有連字號
ollama run google/gemma4  # 不要加組織名

Tokenizer 問題

早期版本的 llama.cpp 有 Gemma 4 相關的 tokenizer bug,可能導致輸出亂碼:

# 更新 Ollama 到最新版
# macOS
brew upgrade ollama

# Linux
curl -fsSL https://ollama.com/install.sh | sh

這個問題已經在 llama.cpp 裡修復了,新版 Ollama 已經包含了修復。確保你用的是最新版本。

"Unexpected token" 或解析錯誤

通常代表 GGUF 檔案損壞或不相容:

# 刪掉重新下載
ollama rm gemma4:e4b
ollama pull gemma4:e4b

問題六:明明有 GPU 但跑在 CPU 上

這是個已知問題(Ollama 的 GitHub issue #15237 有紀錄)。模型能載入,但完全跑在 CPU 上,GPU 閒著。

診斷

# 查看 Ollama 在用什麼
ollama ps
# 看 PROCESSOR 欄

解決方案

第一步: 更新 Ollama 到最新版(很多 GPU 偵測問題已經修復了):

brew upgrade ollama  # macOS
# Linux 重新跑安裝指令碼

第二步: 手動設定 GPU 環境變數:

# NVIDIA
export CUDA_VISIBLE_DEVICES=0
ollama run gemma4:e4b

# 強制使用 GPU
OLLAMA_NUM_GPU=999 ollama run gemma4:e4b

第三步: 檢查模型是否超出 GPU 容量:

如果模型放不進顯存,Ollama 可能整個回退到 CPU 而不是做部分卸載。換個更小的模型或量化版試試。

第四步: 重新啟動 Ollama 服務:

# macOS
brew services restart ollama

# Linux (systemd)
sudo systemctl restart ollama

排查決策樹

不知道從哪開始?按這個順序來:

  1. 模型能下載嗎?

    • 不能 → 檢查網路、磁碟空間、模型名是否拼對
    • 能 → 往下看
  2. 能跑起來嗎?

    • 不能,OOM 錯誤 → 換小模型或量化版,縮短上下文
    • 不能,其他錯誤 → 更新 Ollama,檢查模型名,重新下載
    • 能 → 往下看
  3. GPU 在用嗎?

    • 沒有 → 檢查驅動程式(NVIDIA: nvidia-smi,AMD: rocminfo),更新 Ollama,設定環境變數
    • 在用 → 往下看
  4. 速度夠快嗎?

    • 不夠 → 檢查電源設定,關其他應用程式,試更小的量化版
    • 夠 → 沒問題了
  5. 輸出品質有問題?

    • 亂碼 → 更新 Ollama(tokenizer 修復),重新下載模型
    • 品質低 → 換更大的模型或更溫和的量化

還是解決不了?

以上都試了還不行的話:

下一步

gemma4 — interact

Stop reading. Start building.

~/gemma4 $ Get hands-on with the models discussed in this guide. No deployment, no friction, 100% free playground.

Launch Playground />
Gemma 4 AI

Gemma 4 AI

Related Guides

Gemma 4 跑不動怎麼辦?記憶體不足/速度慢/GPU 問題解決 | 部落格