Ollama 常见问题
这一篇把官方 FAQ 的高频问题按场景归了个类:安装升级、服务器配置、性能与显存、网络访问、存储与隐私。遇到问题先在这里定位,再跳对应专题页深挖。
版本基线 v0.40.12,官方
docs.ollama.com/faq。
一、安装与升级
macOS / Windows 怎么升级?
应用会自动下载更新。点击任务栏或菜单栏的 Ollama 图标,选「Restart to update」应用更新。也可以手动下载最新版覆盖安装。
Linux 怎么升级?
重新执行安装脚本即可,会覆盖旧二进制并保留模型:
curl -fsSL https://ollama.com/install.sh | sh
怎么关掉开机自启?
Windows 和 macOS 装完会注册为登录启动项,升级不会改变这个设置。
- Windows:任务管理器 → 「启动应用」→ 找到
ollama→ 禁用 - macOS:系统设置搜索「登录项」,在「允许在后台」里找到
Ollama,关掉开关
二、服务器配置:环境变量怎么设
Ollama 服务端的全部配置都通过环境变量实现,但三个平台的设置方式完全不同,这是最容易踩坑的地方。
macOS(App 方式运行)
必须用 launchctl 设置,写在 .zshrc 里对 GUI 应用无效:
launchctl setenv OLLAMA_HOST "0.0.0.0:11434"
设完要重启 Ollama 应用才生效。
Linux(systemd 服务方式)
用 systemctl edit 编辑服务单元,不要直接改 /etc/systemd/system/ollama.service(升级会被覆盖):
systemctl edit ollama.service
在 [Service] 段下加 Environment 行:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
保存后重载并重启:
systemctl daemon-reload
systemctl restart ollama
Windows
Ollama 继承用户和系统环境变量:先从任务栏退出 Ollama → 设置里搜索「环境变量」→「编辑账户的环境变量」→ 新建 OLLAMA_HOST、OLLAMA_MODELS 等 → 确定后重新从开始菜单启动。
常用变量速查
| 变量 | 作用 | 默认 |
|---|---|---|
OLLAMA_HOST |
监听地址 | 127.0.0.1:11434 |
OLLAMA_MODELS |
模型存储目录 | 见下文「模型存在哪」 |
OLLAMA_KEEP_ALIVE |
模型驻留时长 | 5m |
OLLAMA_CONTEXT_LENGTH |
默认上下文长度 | 4096 |
OLLAMA_ORIGINS |
允许跨域的来源 | 仅 127.0.0.1、0.0.0.0 |
OLLAMA_FLASH_ATTENTION |
强制开关 Flash Attention | 自动判断 |
OLLAMA_DEBUG |
打开调试日志 | 关 |
OLLAMA_NO_CLOUD |
关闭云端功能 | 关 |
完整的变量清单与各平台设置方式见 4.1 Ollama CLI 参考。
三、上下文与性能
上下文窗口默认多大,怎么改?
默认 4096 tokens。三种改法,优先级从低到高:
## ① 全局默认:启动服务时指定
OLLAMA_CONTEXT_LENGTH=8192 ollama serve
## ② 交互式会话中临时改
/set parameter num_ctx 4096
## ③ 单次 API 请求指定
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt": "Why is the sky blue?",
"options": { "num_ctx": 4096 }
}'
需要注意显存是按上下文长度分配的,调大 num_ctx 会显著吃显存。各显存档位的默认值见 6.1 Ollama 上下文长度。
怎么确认模型真的跑在 GPU 上?
用 ollama ps 看 PROCESSOR 列:
ollama ps
NAME ID SIZE PROCESSOR UNTIL
llama3:70b bcfb190ca3a7 42 GB 100% GPU 4 minutes from now
100% GPU:全部在显存100% CPU:全在内存,速度会慢一个数量级48%/52% CPU/GPU:模型太大被拆分,两边各放一部分
看到 100% CPU 但你有显卡,先查 10.1 Ollama 硬件支持 里的算力和驱动要求。
怎么让模型常驻内存,或立刻卸载?
默认 5 分钟无请求后卸载。三种控制方式:
## 立即卸载
ollama stop llama3.2
## API:常驻(-1 表示永不卸载)
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "keep_alive": -1}'
## API:用完立刻释放显存
curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "keep_alive": 0}'
keep_alive 支持时长字符串(10m、24h)、秒数(3600)、负数(常驻)、0(立即卸载)。全局默认用 OLLAMA_KEEP_ALIVE,请求级参数会覆盖它。
怎么预加载模型,减少首次等待?
发一个空请求即可,/api/generate 和 /api/chat 都支持:
curl http://localhost:11434/api/generate -d '{"model": "mistral"}'
CLI 方式是:
ollama run llama3.2 ""
怎么开 Flash Attention?
Ollama 在所选后端支持时会自动启用 Flash Attention。要强制打开:
OLLAMA_FLASH_ATTENTION=1 ollama serve
关掉则设 OLLAMA_FLASH_ATTENTION=0。它能显著降低长上下文下的显存占用,建议保持开启。
并发请求太多怎么办?
超出队列上限时服务端直接返回 503(服务器过载)。可调 OLLAMA_MAX_QUEUE 控制排队数量;同时能加载几个模型由 OLLAMA_MAX_LOADED_MODELS 控制。
四、网络访问
怎么让局域网其他机器访问?
默认只绑 127.0.0.1:11434,外部访问不到。改 OLLAMA_HOST:
OLLAMA_HOST=0.0.0.0:11434 ollama serve
⚠️ 这会暴露到整个网络,Ollama 自身没有鉴权机制,请只在内网使用,或前置 Nginx 加认证。
浏览器前端调不通,报 CORS 错误?
默认只允许 127.0.0.1 和 0.0.0.0 两个来源。其他来源需显式加进 OLLAMA_ORIGINS:
## 放行所有 Chrome / Firefox / Safari 扩展
OLLAMA_ORIGINS=chrome-extension://*,moz-extension://*,safari-web-extension://* ollama serve
浏览器扩展必须显式列出其 origin 模式,只写域名不够。
怎么用 Nginx 反代?
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:11434;
proxy_set_header Host localhost:11434;
}
}
proxy_set_header Host 这行不能少,Ollama 会校验 Host 头。
怎么用内网穿透?
## ngrok
ngrok http 11434 --host-header="localhost:11434"
## Cloudflare Tunnel
cloudflared tunnel --url http://localhost:11434 --http-host-header="localhost:11434"
同样都必须带上 host header 参数。
在公司代理后面怎么拉模型?
用 HTTPS_PROXY,并把代理证书装成系统证书:
HTTPS_PROXY=https://proxy.example.com ollama serve
不要设 HTTP_PROXY。Ollama 拉模型只走 HTTPS,设了 HTTP 代理反而会干扰客户端到服务端的连接。
Docker 里则需要把自签证书打进去:
FROM ollama/ollama
COPY my-ca.pem /usr/local/share/ca-certificates/my-ca.crt
RUN update-ca-certificates
五、存储与模型管理
模型存在哪?
| 系统 | 路径 |
|---|---|
| macOS | ~/.ollama/models |
| Linux | /usr/share/ollama/.ollama/models |
| Windows | C:\Users\<用户名>\.ollama\models |
改位置设 OLLAMA_MODELS。Linux 用官方安装脚本时,还要把新目录权限给 ollama 用户:
sudo chown -R ollama:ollama <新目录>
Ollama 公钥在哪?
公钥用于推模型、拉私有模型、跑云端模型。
| 系统 | id_ed25519.pub 路径 |
|---|---|
| macOS | ~/.ollama/id_ed25519.pub |
| Linux | /usr/share/ollama/.ollama/id_ed25519.pub |
| Windows | C:\Users\<用户名>\.ollama\id_ed25519.pub |
登录方式三选一:App 设置页登录、CLI 执行 ollama signin、到 ollama.com/settings/keys 手动粘贴。
六、隐私边界
这是最需要说清楚的一条:
- 本地模型:Ollama 完全在本机运行,官方看不到你的提示词和输出。
- 云端模型:提示词和响应会被处理以提供服务,但不存储、不记录、不用于训练。官方只收集账号信息和有限的用量元数据,不含内容。
- 数据不出售,账号可随时删除。
想彻底断掉云端?
在 ~/.ollama/server.json 里写入:
{
"disable_ollama_cloud": true
}
或设环境变量:
OLLAMA_NO_CLOUD=1
改完重启,日志会出现 Ollama cloud disabled: true。代价是云端模型和网络搜索都不可用——纯本地部署场景建议直接关掉。
七、其他零散问题
WSL2 里下载模型特别慢?
这是 Windows 10 上 vEthernet (WSL) 网卡的 Large Send Offload 问题。打开「控制面板 → 网络和 Internet → 网络连接」→ 右键 vEthernet (WSL) → 属性 → 配置 → 高级,把 Large Send Offload Version 2 (IPv4) 和 (IPv6) 都禁用。
Docker 里能用 GPU 吗?
Linux 和 Windows(WSL2)可以,需要 nvidia-container-toolkit。macOS 上的 Docker Desktop 不行——没有 GPU 直通。
在 VS Code 里怎么用?
装 Ollama 扩展,即可在 VS Code Chat 里选择本地模型。这是官方集成清单里最常用的一个,配置步骤和故障处理见本教程第 12 章「Ollama 集成」的 VS Code 篇。
日志在哪看?
各平台日志路径、调试日志开启方式、GPU 发现失败排查,都在 11.1 Ollama 故障排查 里。
动手试
想快速验证自己的环境配置是否正确,跑这三条:
## ① 当前加载了什么、跑在哪
ollama ps
## ② 服务监听在哪个地址
curl -s http://localhost:11434/api/version
## ③ 本地有哪些模型
ollama list
三条都能正常返回,说明服务、网络、存储都通了,剩下的问题基本都在模型或显存层面。