Ollama 模型管理:下载、切换、删除与版本控制完全指南
导语
说实话,刚开始用 Ollama 的时候,我完全没意识到一个问题:模型文件真的很大。
直到有一天,我的 SSD 空间报警了。打开 ~/.ollama 目录一看——四十多个 GB。我当时就想:这些模型我根本用不到啊,怎么删?怎么切换版本?怎么避免以后再踩这个坑?
这篇文章就是踩坑后的总结。我们聊聊 Ollama 模型管理的核心命令,从下载、切换到删除,再到版本控制的最佳实践。读完之后,你应该能很从容地管理本地 LLM 库,不会再被磁盘空间吓一跳。
核心命令速查表
先给你一张表,方便随时查阅。后面我们会逐个展开说。
| 命令 | 作用 | 示例 |
|---|---|---|
ollama pull | 下载模型(指定版本) | ollama pull llama3.2:latest |
ollama run | 运行模型 | ollama run llama3.2 |
ollama list | 查看所有本地模型 | ollama list |
ollama ps | 查看正在运行的模型 | ollama ps |
ollama stop | 停止运行中的模型 | ollama stop llama3.2 |
ollama rm | 删除模型 | ollama rm llama3.2 |
ollama show | 查看模型详细信息 | ollama show llama3.2 |
ollama create | 创建自定义模型 | ollama create mymodel -f Modelfile |
ollama serve | 启动 API 服务 | ollama serve |
这张表基本覆盖了日常管理的 90% 场景。记住这几个命令,剩下的就是组合使用。
模型下载:版本选择很重要
下载指定版本
用 ollama pull 下载模型,这个命令大家应该都知道。但有个细节容易忽略:版本标签。
# 下载最新版
ollama pull llama3.2:latest
# 下载特定参数规模
ollama pull llama3.1:70b
# 下载特定量化版本
ollama pull mistral:7b-q4_K_M
你可能想问:这些标签有什么区别?
其实很简单:
latest:默认标签,最新稳定版7b、70b:参数规模,数字越大模型越强,但也更吃资源q4_K_M、q3_K_L:量化等级,数字越小文件越小,精度会略降
一句话:看你的硬件选版本。
硬件要求对照表
别盲目下载。先看看这张表,对照你的配置:
| 模型规模 | 参数量 | 文件大小 | 最低 RAM | 推荐 RAM | 显存需求 |
|---|---|---|---|---|---|
| 小模型 | 1-3B | 1-2GB | 4GB | 8GB | 2-4GB |
| 中模型 | 7-8B | 4-5GB | 8GB | 16GB | 6-8GB |
| 大模型 | 13-14B | 7-8GB | 16GB | 32GB | 10-12GB |
| 超大模型 | 70B | 40GB+ | 32GB | 64GB+ | 24GB+ |
我的经验:8GB RAM 的机器,跑 7B 模型勉强够用,但很慢。16GB 会舒服很多。至于 70B 模型——老实说,家用机器基本跑不动,除非你有双 RTX 4090。
批量下载脚本
如果你要下载多个模型,手动一条条敲太累。写个脚本吧:
#!/bin/bash
# download_models.sh
MODELS=(
"llama3.2:latest"
"mistral:7b"
"qwen2:7b"
"deepseek-r1:7b"
)
for model in "${MODELS[@]}"; do
echo "正在下载: $model"
ollama pull "$model"
echo "---"
done
echo "所有模型下载完成!"
保存成 download_models.sh,然后执行:
chmod +x download_models.sh
./download_models.sh
这样就可以一次性把需要的模型全拉下来。
切换模型:别让 GPU 空转
查看本地模型列表
下载完模型,先看看你现在有哪些:
ollama list
输出大概是这样:
NAME ID SIZE MODIFIED
llama3.2:latest a80c4f17acd5 2.0GB 2 days ago
mistral:7b f974a74358d6 4.1GB 5 days ago
qwen2:7b d53d04290064 2.3GB 10 days ago
几个字段的意思:
- NAME:模型名称和标签
- ID:唯一标识(删模型时可能用到)
- SIZE:文件大小,一目了然谁占空间
- MODIFIED:最后修改时间,可以判断是不是老模型
看到这里,你应该能发现:哪些模型是常用的,哪些可以删了。
运行指定模型
切换模型很简单,直接 ollama run:
# 基础运行
ollama run llama3.2
# 带 GPU 加速
ollama run llama3.2 --gpu
# 详细模式(看加载耗时)
ollama run llama3.2 --verbose
有个细节:如果模型没下载,ollama run 会自动先 pull。所以你也可以直接 run,不用提前 pull。
但有个坑要注意:模型启动后会一直占用 GPU/CPU,除非你手动停掉。所以切换前,先停掉之前的模型。
停止运行中的模型
先看看哪些模型正在跑:
ollama ps
输出类似:
NAME ID SIZE PROCESSOR UNTIL
llama3.2 a80c4f17acd5 2.0GB 100% GPU 4 minutes from now
如果有模型在跑,停掉它:
ollama stop llama3.2
这样 GPU 空间就腾出来了,可以切换到下一个模型。
说实话,我以前经常忘了 stop,结果机器越来越慢。养成个习惯:切换前先 ps,再 stop。
删除模型:腾出磁盘空间的关键
删除单个模型
终于到关键环节了——删模型。
ollama rm llama3.2
输出:
deleted 'llama3.2'
就这么简单。但有个注意点:删之前确认模型名称,别删错了。建议先 ollama list 看一眼。
另外,删除后文件不会立即消失,有个清理过程。如果你发现空间没马上腾出来,等几分钟再检查。
批量删除脚本(保留白名单)
如果你的模型库很乱,想清理一下,但又不想删掉常用的几个——写个脚本:
#!/bin/bash
# cleanup_models.sh
# 白名单:这些模型不删
KEEP=(
"llama3.2:latest"
"mistral:7b"
)
# 获取所有模型
ALL_MODELS=$(ollama list | tail -n +2 | awk '{print $1}')
for model in $ALL_MODELS; do
# 检查是否在白名单
keep=false
for keeper in "${KEEP[@]}"; do
if [ "$model" == "$keeper" ]; then
keep=true
break
fi
done
# 不在白名单就删掉
if [ "$keep" = false ]; then
echo "删除: $model"
ollama rm "$model"
else
echo "保留: $model"
fi
done
echo "清理完成!"
这个脚本的逻辑:先列出所有模型,然后逐个检查。白名单里的保留,其他的删掉。
你可以根据需要修改 KEEP 数组,填上你常用的模型。
模型存储路径管理
删了模型,但空间还是不够?可能是路径配置有问题。
默认情况下,模型存放在:
- Windows:
C:\Users\<用户名>\.ollama\models - Linux/macOS:
~/.ollama/models
如果你的系统盘空间不够,可以迁移到其他盘。设置环境变量 OLLAMA_MODELS:
# Linux/macOS
export OLLAMA_MODELS=/path/to/your/models
# Windows(PowerShell)
$env:OLLAMA_MODELS="D:\ollama\models"
设置完之后,新下载的模型会存到新路径。旧模型还在原来的位置,需要手动移动。
我建议:一开始就设置好路径,别等到空间爆了再迁移。迁移很麻烦,容易出错。
版本控制:避免混乱的策略
版本混乱的典型场景
你可能遇到过这种情况:
llama3.1:latest
llama3.1:8b
llama3.2:latest
llama3.2:1b
llama3.2:3b
一堆版本堆在一起,你根本不知道哪个是常用的,哪个是测试的,哪个该删。
避免混乱的三条建议
-
用标签区分用途
latest:日常使用的主版本test、dev:测试用的版本- 别下载太多参数规模版本,选一个合适的就行
-
定期清理
- 每周运行一次
ollama list,看看有没有多余的 - 用前面的清理脚本,保持模型库精简
- 每周运行一次
-
命名要有意义
- 如果自定义模型,用清晰的命名
- 比如
myproject-llama3.2,别叫mymodel1、mymodel2
更新模型(增量下载)
模型更新了,你想拉新版本怎么办?
直接再 pull:
ollama pull llama3.2:latest
有个好消息:Ollama 只下载差异部分,不会重新拉整个文件。所以更新很快,不用担心带宽。
自定义模型变体
如果你想调整模型参数(比如改 temperature、加系统提示),可以用 Modelfile:
# 创建 Modelfile
FROM llama3.2
PARAMETER temperature 0.7
SYSTEM """你是一个专业的技术助手,用简洁的语言回答问题。"""
# 创建自定义模型
ollama create my-tech-assistant -f Modelfile
# 运行
ollama run my-tech-assistant
这样你就有了一个定制版本。如果以后不想用了,同样用 ollama rm 删掉。
常见问题与解决方案
下载卡在 99%
这个坑我也踩过。模型下载到最后 1%,突然不动了。
原因通常是网络中断。解决方法:
# Ctrl+C 取消下载
# 再重新 pull
ollama pull llama3.2
好消息:进度会保留,不用从头下载。通常第二次就能成功。
删除后空间没腾出来
删了模型,df -h 一看,空间还是满的。
可能原因:
- 清理进程还没结束,等几分钟
- 有残留文件,手动检查路径
手动检查:
# 查看模型目录大小
du -sh ~/.ollama/models
# 如果还很大,进去看看
ls -lh ~/.ollama/models/blobs/
找到残留文件,手动删掉。
模型切换失败
ollama run 报错,可能是:
- 资源不足:RAM 或显存不够
- 配置错误:Modelfile 有问题
解决方法:
- 先
ollama ps确认没有其他模型占用资源 - 用
--verbose看详细错误信息 - 如果是自定义模型,检查 Modelfile 的语法
最后聊两句
说了这么多,其实核心就三个动作:下载、切换、删除。掌握了这几个命令,加上一点规划(别乱下载版本),你的本地 LLM 库就能很清爽。
对了,如果你是 OpenClaw 用户,模型管理就更重要了——OpenClaw 依赖 Ollama,模型版本直接影响应用体验。建议定期检查模型库,删掉不用的,保持精简。
有问题随时查那张速查表,或者翻回对应的章节。希望这篇文章能帮你少踩几个坑。
常见问题
如何查看当前已下载的所有模型?
删除模型后磁盘空间没有立即增加怎么办?
• 用 du -sh ~/.ollama/models 查看目录大小
• 进到 blobs 目录找残留文件
• 手动删掉残留的模型文件
如何避免下载太多版本导致混乱?
模型下载卡在 99% 怎么解决?
70B 模型能在家用电脑上运行吗?
如何批量更新所有本地模型?
ollama list | tail -n +2 | awk '{print $1}' | while read model; do
ollama pull "$model"
done
Ollama 只下载差异部分,更新很快。定期运行这个脚本,保持模型库最新。
8 分钟阅读 · 发布于: 2026年4月2日 · 修改于: 2026年4月5日
相关文章
Ollama Modelfile 参数详解:创建专属定制模型的完整指南
Ollama Modelfile 参数详解:创建专属定制模型的完整指南
Ollama + Open WebUI:搭建本地 ChatGPT 界面(完整指南)
Ollama + Open WebUI:搭建本地 ChatGPT 界面(完整指南)
Ollama API 调用:从 curl 到 OpenAI SDK 兼容接口

评论
使用 GitHub 账号登录后即可评论