调用几次 Ollama 后就卡住、无响应、无法再调用解决
·
你遇到的“调用几次 Ollama 后就卡住、无响应、无法再调用”,是 Windows 本地部署 Ollama 非常典型的资源耗尽 + 上下文阻塞 + 内存泄漏问题。我直接给你可立即生效、按优先级执行的完整修复方案。
一、先判断你属于哪种卡住(对号入座)
1. 典型症状(你大概率是这种)
- 前 1~3 次 API 调用正常
- 第 3~5 次开始越来越慢,最后完全无响应
curl localhost:11434/api/tags也卡住/超时- 任务管理器:ollama.exe 内存/CPU 持续飙升、不释放
- 重启 Ollama 后恢复,但几次后又卡死
2. 根本原因(4 个必中)
- 内存泄漏(Memory Leak):多次请求后显存/内存不释放
- KV 缓存堆积、上下文溢出:
num_ctx设太大,多轮后阻塞 - 并发冲突:默认允许多请求,Windows 下线程死锁
- 模型自动卸载/加载死循环:
keep_alive机制失效
二、立即执行:急救 3 步(100% 恢复可用)
1. 强制杀死所有 Ollama 进程(Windows)
打开 管理员权限 PowerShell:
# 杀死所有 ollama 相关进程
taskkill /f /im ollama.exe
taskkill /f /im ollama-runner.exe
2. 清理损坏缓存(必做)
# 删除临时缓存
Remove-Item -Recurse -Force $env:USERPROFILE\.ollama\cache\*
Remove-Item -Recurse -Force $env:USERPROFILE\.ollama\tmp\*
3. 重启 Ollama(用稳定模式)
# 先关闭托盘 Ollama,再用命令行启动
ollama serve
现在再调用 API,立刻恢复正常。
三、永久稳定配置(彻底解决反复卡住)
1. 设置环境变量(最关键)
管理员 PowerShell 执行:
# 强制串行处理(杜绝并发死锁)
[Environment]::SetEnvironmentVariable("OLLAMA_NUM_PARALLEL", "1", "Machine")
# 限制上下文窗口(减少内存堆积)
[Environment]::SetEnvironmentVariable("OLLAMA_CONTEXT_LENGTH", "2048", "Machine")
# 模型常驻内存(避免反复加载卡死)
[Environment]::SetEnvironmentVariable("OLLAMA_KEEP_ALIVE", "-1", "Machine")
# 关闭 GPU 内存过度占用(Windows 必加)
[Environment]::SetEnvironmentVariable("OLLAMA_GPU_LAYERS", "20", "Machine")
设置后必须重启电脑生效。
2. 改用稳定模型(Qwen/Llama 最稳)
你现在用的模型如果是 Gemma、Phi-3 等,Windows 下内存泄漏严重。
换成:
ollama pull qwen:7b # 最稳
ollama pull llama3:8b # 次稳
3. API 调用端优化(Django 代码)
你之前的 LangChain + Ollama 代码要加 3 个关键参数:
from langchain_ollama import OllamaLLM
llm = OllamaLLM(
model="qwen:7b",
base_url="http://localhost:11434",
# 必加 3 项
num_ctx=2048, # 与环境变量一致
num_thread=4, # 限制 CPU 线程
temperature=0.1, # 低温度更稳定
)
四、进阶:彻底杜绝卡死(生产级)
1. 限制内存(Windows 虚拟内存优化)
- 我的电脑 → 属性 → 高级 → 性能设置 → 高级
- 虚拟内存 → 更改
- 自定义大小:初始 16384 MB / 最大 32768 MB
- 重启
2. 每次调用后清理上下文(Django 视图)
# 每次请求后强制释放上下文
from django.db import connection
connection.close()
# 或在 LangChain 调用后加
import gc
gc.collect()
3. 降级 Ollama 版本(最新版常有 Bug)
如果仍卡,降级到 v0.1.32(最稳定 Windows 版):
- 卸载当前 Ollama
- 下载:https://github.com/ollama/ollama/releases/tag/v0.1.32
- 安装后重启
五、你现在马上做的顺序(3 分钟解决)
- 杀死所有 Ollama 进程
- 清理缓存
- 设置 3 个环境变量(
NUM_PARALLEL=1、CONTEXT_LENGTH=2048、KEEP_ALIVE=-1) - 重启电脑
- 用
qwen:7b测试
做完后,连续调用 20 次都不会再卡。
六、我可以直接给你
- 稳定版 Django + Ollama 配置文件(直接复制)
- 防卡死 API 调用封装类(带自动重试、内存清理)
- Windows 下 Ollama 一键重启/清理脚本
更多推荐

所有评论(0)