博客

教程、指南和产品动态。

开发者

用 Ollama 运行您自己的 AI:CPU 上的预期表现

2 11月 2026 2 分钟阅读
分享此文章

Ollama 是在自己的服务器上运行开放 AI 模型的工具。Seturack 的服务器没有显卡(GPU),所以模型在 CPU 上运行。这意味着小模型(1B 到 4B 参数)可以用于聊天和简短任务,7B 到 8B 参数的模型能运行但很慢,更大的则不实用。模型的文件大小是您应为它预留的 RAM 的下限。

本文对速度的说法来自一般经验,而不是在 Seturack 服务器上的测量。模型大小来自 Ollama 自己的模型库。

模型必须能装进 RAM

模型参数量文件大小
llama3.2:1b1B1.3 GB
llama3.2:3b3B2.0 GB
gemma3:4b4B3.4 GB
qwen2.5:7b7B4.7 GB
llama3.1:8b8B4.9 GB
gemma3:12b12B8.2 GB
qwen2.5:14b14B9.0 GB
qwen2.5:32b32B20 GB

文件大小接近模型加载到内存中的那部分。除此之外,还有取决于对话长度的上下文内存、Ollama 自身的开销和操作系统的占用。所以 RAM 与文件大小相等是不够的,需要留出余量。没有精确的倍数,但测量很容易:模型加载完成后运行 free -h。模型库在不断更新,请查看 Ollama 的模型库获取当前列表。

该选多大的服务器?

模型规模合理的起步 RAM
1B 到 3B 参数4 GB
7B 到 8B 参数8 GB
12B 到 14B 参数16 GB
32B 参数24-32 GB,在 CPU 上仍然非常慢

这张表是在上面的文件大小上加余量得出的经验值,不是官方推荐。如果 RAM 用完,系统会开始把磁盘当作内存使用(swap),速度急剧下降,或者进程被终止。尝试大模型之前,更稳妥的做法是先升级服务器。

在 CPU 上会是什么体验

  • 文本生成在很大程度上受内存带宽限制。模型越大,回答流出得越慢。
  • 与显卡相比,CPU 明显更慢。回答流出的速度可能比您阅读的速度还慢。
  • 处理长文本会让等待第一个回答的时间变长。第一次请求时,模型要从磁盘加载到内存,所以会来得更晚。
  • 多个用户同时使用时,速度会被他们平分。

适合的场景:简短摘要、分类、邮件草稿、个人助手、实验和开发、小型自动化。吃力的场景:面向大量用户的在线服务、大模型、实时回复、大量代码生成。

安装(Ubuntu)

  1. 运行官方的一行安装脚本:curl -fsSL https://ollama.com/install.sh | sh 建议先下载并读一遍脚本。
  2. 从一个小模型开始:ollama run llama3.2:3b
  3. 查看模型运行在哪里:ollama ps 如果 Processor 一列只显示 CPU,说明模型完全位于系统内存中。
  4. 注意磁盘空间。在 Linux 上,模型存放在 /usr/share/ollama/.ollama/models 下,每个都要占用几个 GB。用 ollama list 列出它们,用 ollama rm 删除。

如果您更喜欢 Docker,官方命令是 docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama。我们建议只把端口绑定到本地地址:-p 127.0.0.1:11434:11434。

该选哪个模型?

从 3B 参数的模型开始,用您自己的工作内容试一试。小模型的土耳其语表现通常不如英语,所以请用您自己的文本测试。如果回答不够好,就升一级,并用 free -h 确认 RAM 够用。

表中的大小对应模型库的默认标签。模型通常经过压缩(量化)到 4 位左右。按 16 位精度,8B 参数大约要 16 GB,压缩后降到 5 GB 左右,就像表中那样。代价是损失少量质量。

在应用中使用

Ollama 提供本地 API。在服务器内部,可以这样试一下:

curl http://127.0.0.1:11434/api/generate -d '{"model":"llama3.2:3b","prompt":"Hello, introduce yourself.","stream":false}'

回答以 JSON 返回。自动化工具和您自己的应用可以连接同一个 API。

管理内存

  • 默认情况下,Ollama 会在最后一次请求之后把模型在内存中保留 5 分钟。这段时间里 RAM 看起来被占满是正常的。ollama stop MODEL_NAME 会立即卸载模型。
  • OLLAMA_MAX_LOADED_MODELS 限制可以同时保持加载的模型数量。在 CPU 上默认是 3。如果 RAM 紧张,请设为 1,否则依次调用不同的模型会让它们都留在内存中。
  • OLLAMA_NUM_PARALLEL 是每个模型的并行请求数,默认为 1。调得越高,需要的 RAM 越多。

安全

  • 默认情况下,Ollama 只监听 127.0.0.1 的 11434 端口。如果用 OLLAMA_HOST 把它开放出去,知道地址的人都能使用您的模型,因为 API 默认没有认证环节。请不要暴露它。
  • 远程使用的话,SSH 隧道就够了:ssh -L 11434:127.0.0.1:11434 user@SERVER_IP
  • Docker 会跳过 ufw 对其发布端口的规则。所以才像上面那样,只把端口绑定到本地地址。
  • 要在浏览器里聊天,可以安装 Open WebUI 这样的界面。请把它放在 HTTPS 后面运行,并用用户账户保护起来。

数据与许可

在自己的服务器上运行模型时,您的对话留在您的服务器上。Ollama 也提供在云端运行的模型。它们不在您的服务器上运行,不在本文讨论范围之内。每个模型都有自己的许可,商用之前请阅读模型页面上的许可。

升级服务器

换模型时,RAM 需求也会变化。如果从 3B 参数的模型起步,再升到 8B 参数的,您可以在面板中升级服务器。升级不会删除服务器,您的 IP 地址和数据保持不变。降配时磁盘不会缩小,而模型可能占满磁盘,所以也要把磁盘考虑进去。

您可以在价格页面算出您的价格。

Seturack 上的现成方案: Ollama, AnythingLLM, Qdrant.

评论0

暂无评论

成为第一个分享想法的人。

参与讨论

请登录或注册后发表评论。

不错过任何文章

通过电子邮件接收我们最新的教程、指南和产品资讯。

您已订阅我们的电子通讯。