切换语言
切换主题

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:默认标签,最新稳定版
  • 7b70b:参数规模,数字越大模型越强,但也更吃资源
  • q4_K_Mq3_K_L:量化等级,数字越小文件越小,精度会略降

一句话:看你的硬件选版本

硬件要求对照表

别盲目下载。先看看这张表,对照你的配置:

模型规模参数量文件大小最低 RAM推荐 RAM显存需求
小模型1-3B1-2GB4GB8GB2-4GB
中模型7-8B4-5GB8GB16GB6-8GB
大模型13-14B7-8GB16GB32GB10-12GB
超大模型70B40GB+32GB64GB+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

一堆版本堆在一起,你根本不知道哪个是常用的,哪个是测试的,哪个该删。

避免混乱的三条建议

  1. 用标签区分用途

    • latest:日常使用的主版本
    • testdev:测试用的版本
    • 别下载太多参数规模版本,选一个合适的就行
  2. 定期清理

    • 每周运行一次 ollama list,看看有没有多余的
    • 用前面的清理脚本,保持模型库精简
  3. 命名要有意义

    • 如果自定义模型,用清晰的命名
    • 比如 myproject-llama3.2,别叫 mymodel1mymodel2

更新模型(增量下载)

模型更新了,你想拉新版本怎么办?

直接再 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 一看,空间还是满的。

可能原因:

  1. 清理进程还没结束,等几分钟
  2. 有残留文件,手动检查路径

手动检查:

# 查看模型目录大小
du -sh ~/.ollama/models

# 如果还很大,进去看看
ls -lh ~/.ollama/models/blobs/

找到残留文件,手动删掉。

模型切换失败

ollama run 报错,可能是:

  1. 资源不足:RAM 或显存不够
  2. 配置错误:Modelfile 有问题

解决方法:

  • ollama ps 确认没有其他模型占用资源
  • --verbose 看详细错误信息
  • 如果是自定义模型,检查 Modelfile 的语法

最后聊两句

说了这么多,其实核心就三个动作:下载、切换、删除。掌握了这几个命令,加上一点规划(别乱下载版本),你的本地 LLM 库就能很清爽。

对了,如果你是 OpenClaw 用户,模型管理就更重要了——OpenClaw 依赖 Ollama,模型版本直接影响应用体验。建议定期检查模型库,删掉不用的,保持精简。

有问题随时查那张速查表,或者翻回对应的章节。希望这篇文章能帮你少踩几个坑。


常见问题

如何查看当前已下载的所有模型?
使用 ollama list 命令,会列出所有本地模型的名称、ID、大小和修改时间。如果想看某个模型的详细信息,用 ollama show 模型名。
删除模型后磁盘空间没有立即增加怎么办?
删除后有个清理过程,等几分钟再检查。如果空间还是没腾出来:

• 用 du -sh ~/.ollama/models 查看目录大小
• 进到 blobs 目录找残留文件
• 手动删掉残留的模型文件
如何避免下载太多版本导致混乱?
只用 latest 标签作为日常主版本,测试版本用 test 或 dev 标签区分。不要下载太多不同参数规模的版本,根据硬件选一个合适的就行。定期用 ollama list 检查,清理不用的旧版本。
模型下载卡在 99% 怎么解决?
通常是网络中断导致的。Ctrl+C 取消下载,然后重新运行 ollama pull 命令。进度会保留,不用从头下载,通常第二次就能成功。
70B 模型能在家用电脑上运行吗?
基本跑不动。70B 模型需要 32GB+ RAM 和至少 24GB 显存,普通家用电脑(包括单张 RTX 4090)都扛不住。建议用 7B 或 14B 模型,或者租用云服务器跑大模型。
如何批量更新所有本地模型?
写个简单脚本:

ollama list | tail -n +2 | awk '{print $1}' | while read model; do
ollama pull "$model"
done

Ollama 只下载差异部分,更新很快。定期运行这个脚本,保持模型库最新。

8 分钟阅读 · 发布于: 2026年4月2日 · 修改于: 2026年4月5日

评论

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

相关文章