关键要点
- 内存不足:切换到较小的量化(Q4_K_M → Q3_K_S)或较小的模型。
- NVIDIA 上 GPU 无法检测:在 Linux 上将驱动程序更新到 525+,在 Windows 上更新到 452+。运行 `nvidia-smi` 确认。
- 推理速度极慢:您仅在 CPU 上运行。使用 `OLLAMA_GPU_LAYERS` 环境变量在 Ollama 中启用 GPU 卸载。
- 连接被拒绝:Ollama 未运行。使用 `ollama serve` 启动它或重启服务。
- 输出乱码:提示模板错误。使用模型的 instruct 变体,而不是基础变体。
错误 1:"内存不足" / 内存不足崩溃
内存不足错误意味着模型需要的 RAM 超过可用 RAM——不是硬件故障。 这是首次使用者最常见的错误。请参阅 LLM 量化解释 了解量化如何减少 RAM 需求的背景。
- 检查可用 RAM:在 macOS/Linux 上运行 `free -h`,在 Windows 上打开任务管理器→性能→内存。
- 切换到更小的量化:将 `Q8_0` 或 `Q5_K_M` 替换为 `Q4_K_M`。对于 Ollama:`ollama run llama3.2-instruct-q4_K_M`。
- 加载模型前关闭后台应用——浏览器和其他应用消耗 RAM,减少了模型可用的内存。
- 切换到较小的模型:如果 8B 在 8 GB RAM 上失败,尝试 `llama3.2:3b`(仅需约 2.5 GB)。
在 Linux / macOS 上检查可用 RAM
# Linux
free -h
# macOS
vm_stat | grep "Pages free"
# macOS 上更易读
top -l 1 | grep "PhysMem"错误 2:GPU 未被使用(仅在 CPU 上运行)
GPU 未被使用意味着 LLM 运行速度比预期慢 5–10 倍——在其他任何事情之前检查驱动程序安装。 验证您的 GPU 对系统可见:
# NVIDIA——应该显示 GPU 名称和驱动程序版本
nvidia-smi
# Linux 上的 AMD
rocm-smi
# macOS——检查 Metal 是否可用
system_profiler SPDisplaysDataType | grep "Metal"如何在 Ollama 中启用 GPU?
- Linux 上的 NVIDIA:安装 NVIDIA 驱动程序 525+ 和 CUDA 工具包 11.3+。Ollama 会在重启时自动检测 CUDA。
- Windows 上的 NVIDIA:确保驱动程序版本为 452.39 或更高。Ollama 通过 Windows 安装程序自动安装 CUDA 支持。
- Linux 上的 AMD:安装 ROCm 5.7+。如果检测失败,为 RX 6000 系列卡设置 `HSA_OVERRIDE_GFX_VERSION=11.0.0`。
- Apple Silicon:Ollama 默认使用 Metal——无需配置。在启动模型后使用 `ollama ps` 确认;GPU 层出现在输出中。
错误 3:推理速度极慢(低于 5 Token/秒)
低于 5 token/秒意味着模型仅在 CPU 上运行或模型对可用 VRAM 来说过大。 7B 模型在 GPU 上生成 30–80 tok/s;同一模型在 CPU 上生成 3–10 tok/s。
- 确认 GPU 是否活动:在加载模型时运行 `ollama ps`。输出显示有多少层在 GPU 上,有多少在 CPU 上。
- 减小模型大小:CPU 上的 13B 模型生成 3–6 tok/s。切换到 7B 会使速度翻倍;切换到 3B 会使速度翻四倍。
- 增加 Ollama 中的 GPU 层:设置 `OLLAMA_GPU_LAYERS=999` 以将所有层推送到 GPU(Ollama 会限制为 VRAM 中适合的)。
- 使用更快的量化:Q4_K_M 是保持可接受质量的最快量化。Q8_0 质量更高,但速度慢约 30%。
在 Ollama 中设置 GPU 层
# 在启动 Ollama 之前设置环境变量
export OLLAMA_GPU_LAYERS=999
ollama serve
# 或在 Modelfile 中
FROM llama3.1:8b
PARAMETER num_gpu 999错误 4:调用 API 时"连接被拒绝"
连接被拒绝意味着 Ollama 未运行——`localhost:11434` 处的 API 仅在服务活动时响应。 在进行 API 调用之前启动它。
# 手动启动 Ollama
ollama serve
# 在 Linux 上——重启 systemd 服务
systemctl restart ollama
# 验证它正在运行
curl http://localhost:11434
# 预期:"Ollama is running"错误 5:"找不到模型"错误
"找不到模型"意味着您命令中的模型名称与任何已下载的模型不匹配。 Ollama 中的模型名称区分大小写,并包括版本标签。
# 列出所有已下载的模型
ollama list
# 如果缺少模型则拉取
ollama pull llama3.2
# 检查确切的模型名称——标签重要
# "llama3.2" 和 "llama3.2:3b" 是不同的条目错误 6:模型文件损坏
损坏的模型文件是由下载中断导致的——删除并重新拉取以修复。 Ollama 不总是自动检测部分下载。
# 移除损坏的模型
ollama rm llama3.2
# 重新拉取
ollama pull llama3.2
# 对于 LM Studio:手动删除模型文件
# 默认位置:~/.cache/lm-studio/models/错误 6b:LM Studio 中的"无法解析模型"
"无法解析模型 lmstudio-community/..." 意味着 LM Studio 在其注册表中找不到该模型。 这通常发生在从 Hugging Face 上的 `lmstudio-community` 下载模型但注册表引用已更改时。LM Studio 使用的是不再与可用模型文件匹配的缓存注册表条目。
- 打开 LM Studio→My Models 选项卡→单击失败模型上的三点菜单→选择"Delete model"(保留文件,删除注册表)
- 在模型浏览器中搜索相同模型并重新下载——LM Studio 会重新注册它
- 替代方案:退出 LM Studio,导航到 `~/.cache/lm-studio/models/`,删除特定的模型文件夹,然后重新下载
# 手动清除 LM Studio 模型缓存(macOS/Linux)
rm -rf ~/.cache/lm-studio/models/lmstudio-community/<model-name>错误 7:CUDA / ROCm 初始化错误
CUDA 和 ROCm 错误意味着驱动程序/库版本不匹配——将驱动程序更新到所需的最低版本。
- "CUDA 驱动程序版本不足":更新 NVIDIA 驱动程序。llama.cpp 的最低版本是 CUDA 11.3 / 驱动程序 450.80。
- "没有可用于执行的内核映像":您的 GPU 架构不受支持。GTX 900 系列(Maxwell)及更旧的不受最近 CUDA 构建支持。
- AMD ROCm"HSA_STATUS_ERROR_INVALID_ISA":在启动 Ollama 之前设置 `HSA_OVERRIDE_GFX_VERSION=10.3.0`(对于 RX 6000)或 `11.0.0`(对于 RX 7000)。
- 检查 CUDA 版本:运行 `nvcc --version` 或 `nvidia-smi | grep CUDA`。
错误 8:输出乱码、重复或无意义
输出乱码几乎总是意味着您使用的是基础模型而不是 instruct/chat 变体。 基础模型生成原始文本补全,而不是对问题的答案。
基础模型(例如 `llama3.1:8b`)不是针对对话微调的,当用问题提示时会生成看起来像乱码的原始补全。始终使用 instruct 变体:`llama3.1:8b-instruct`。请参阅 如何安装 LM Studio 了解基于 GUI 的方法来切换模型变体。
在 Ollama 中,大多数模型的默认标签已经指向 instruct 变体。如果您从 Hugging Face 手动下载,确认文件名包括"Instruct"或"chat"。
错误 9:"地址已在使用"——端口冲突
"地址已在使用"意味着另一个进程占用了端口 11434(Ollama)或 1234(LM Studio)。 查找并杀死冲突的进程。
# 查找什么在使用端口 11434(Ollama)
lsof -i :11434
# 按 PID 杀死它
kill -9 <PID>
# 或更改 Ollama 的端口
export OLLAMA_HOST=0.0.0.0:11435
ollama serve错误 10:模型在响应中途停止生成
中途停止是由达到上下文长度限制或 `num_predict` 设置过低引起的。 许多配置中的默认 `num_predict` 是 128 个 token——仅够 1–2 句话。
- 增加 num_predict:此参数设置要生成的最大 token 数。默认值通常是 128。增加它:在 Ollama 中,将 `PARAMETER num_predict 2048` 添加到 Modelfile。
- 检查上下文窗口:如果您的对话很长,模型可能达到了其上下文限制。开始新会话或使用具有更大上下文窗口的模型(Llama 3.2 3B 支持 128K)。
- 检查停止 token:某些 Modelfile 包括提前终止生成的停止序列。查看系统提示和模板以查找意外的停止模式。
按地区划分的本地 LLM 故障排除
中国(数据安全法):根据中国 2021 年《数据安全法》部署时,使用 Ollama 和 Qwen2.5 7B 满足数据本地化要求。个人数据和敏感数据需要本地部署。GPU 驱动程序安装遵循与 Linux 相同的流程。对于中国制造的 GPU 卡(Biren BR100),ROCm 支持需要自定义 ROCm 构建。在阿里云、腾讯云或华为云上部署时,选择中国地区的实例以确保数据驻留合规性。
亚太地区(数据跨境):数据跨境限制通常要求在当地数据中心运行推理。Ollama 和 LM Studio 在本地服务器上运行时避免了跨境数据传输。对于医疗、金融或法律数据,请咨询当地合规专家。
企业部署:大型企业(银行、医院、律师事务所)处理受管制数据应使用经过审计的本地 LLM 部署。Ollama 不保存日志的事实减少了监管负担。使用强身份验证和磁盘上的模型加密。对于生产环境,在联想 ThinkPad 或华为 MateBook 上运行 13B 模型需要 32 GB RAM 和配置的 CUDA 驱动程序。
相关阅读
- LLM 量化解释 —— Q4_K_M 为什么是默认值以及量化如何影响 RAM
- 本地 LLM 硬件指南 2026 —— 本地运行 7B–70B 模型的硬件需求
- 如何安装 Ollama —— 安装和设置指南
- Ollama vs LM Studio —— 两个最流行的本地 LLM 工具的比较
- 如何在笔记本电脑上运行本地 LLM —— 笔记本电脑特定的热管理和电池优化
- 最佳初学者本地 LLM 模型 —— 8 GB RAM 的模型建议
- 2026年最佳编程本地LLM对比 — Qwen2.5-Coder与DeepSeek基准测试
在哪里寻找更多帮助
对于笔记本电脑上的硬件特定问题(热节流、电池耗尽),请参阅 如何在笔记本电脑上运行本地 LLM。对于安全和隐私配置问题,请参阅 本地 LLM 安全和隐私检查清单。Ollama GitHub 问题页面(github.com/ollama/ollama/issues)和 r/LocalLLaMA subreddit 是特定于模型的错误的最活跃社区资源。
本地 LLM 故障排除中的常见错误
- 将 OOM 错误与硬件故障混淆——错误意味着 RAM 对模型来说太小,而不是硬件已损坏。修复:使用 Q4_K_M 量化或较小的模型。
- 不检查系统负载——当其他应用使用 CPU/GPU 时,推理速度会显著下降。在基准测试前关闭浏览器、视频播放器和后台进程。
- 忽视驱动程序版本不兼容——NVIDIA CUDA 需要特定的驱动程序版本(每个 CUDA 版本)。检查 `nvidia-smi` 输出;CUDA 11.x 的驱动程序版本必须 ≥450.80。
- 在 Ollama 中使用错误的模型名称——`llama3.2` 和 `llama3.2:3b` 是不同的 Ollama 标签。运行 `ollama list` 查看已下载模型的确切名称。
- 驱动程序更新后不重启 Ollama——Ollama 在启动时检测 GPU。更新 NVIDIA 或 ROCm 驱动程序后,完全重启 Ollama(`ollama serve`)以重新检测 GPU。
来源
- NVIDIA. (2024). "CUDA Toolkit Release Notes." https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/ —— 按版本的官方 CUDA 驱动程序版本需求。
- Ollama. (2026). "Ollama Troubleshooting." https://github.com/ollama/ollama/blob/main/docs/troubleshooting.md —— 常见错误的官方 Ollama 文档。
- AMD. (2024). "ROCm Installation Guide." https://rocm.docs.amd.com/projects/install-on-linux/en/latest/ —— 官方 AMD ROCm 安装和 Linux GPU 支持。