Gemma 4 跑不动怎么办?内存不足/速度慢/GPU 问题解决

2026/04/07

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 镜像站(hf-mirror.com),速度会快很多。

硬盘空间不够

# 查看剩余空间
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 修复),重新下载模型
    • 质量低 → 换更大的模型或更温和的量化

还是解决不了?

以上都试了还不行的话:

下一步

Gemma 4 AI

Gemma 4 AI

相关教程