本地装了 Ollama,想拿它跑 DeepSeek R1 这类推理模型,结果常常卡在几处:模型拉下来却进不去对话、显存不够被静默卸载到内存、接口那边报连不上、输出慢到以为死机。这篇按「先能跑起来、再跑得对、最后跑得快」的顺序,把每一步该看什么、报错该往哪查列清楚,不涉及具体参数与跑分。
本地装了 Ollama,想拿它跑 DeepSeek R1 这类推理模型,很多人第一步就卡住:命令敲下去半天没反应,或者模型拉下来了却进不去对话。常见表现就那么几类——拉不动、拉完起不来、起来了连不上、连上了慢到以为死机。这篇按「先能跑起来、再跑得对、最后跑得舒服」的顺序,把每一步该看什么、报错该往哪查列清楚,不涉及具体参数和跑分。
先明确一件事:Ollama 的启动不是一条命令的事,而是「服务在跑 → 模型在本地 → 客户端能连 → 推理真出字」这四个环节。任何一环断了,你看到的报错都可能是假象,比如服务没起来,你以为是模型拉不动。所以排查永远是从最底下一层往上查,别一上来就怀疑模型本身有问题。
拉之前先确认三件事
很多人跳过这一步,结果在拉取环节浪费大量时间。先确认服务是否在跑、硬件够不够、模型文件放哪。这三件事任何一件没确认,后面所有报错都可能指向错误方向。
- 确认 Ollama 服务状态看后台进程是否存活、默认端口是否被占用。服务没起来时,所有命令都会表现为「拉不动」或「连不上」,而不是明确报「服务未启动」。
- 算一遍显存够不够按参数量和量化档位粗算显存占用。到 /models/deploy 的部署测算过一遍再动手,别等拉到一半才发现塞不下。
- 确认磁盘与目录权限模型文件体积不小。改过 OLLAMA_MODELS 环境变量的,确认新路径有空间且当前用户可写。路径类名词解释在 /ai-dict 里查对应词条。
拉模型与第一次启动:命令怎么走
这一步的核心是区分「先拉后跑」和「边跑边拉」两种模式。网络不稳时建议先单独把模型拉完再启动,避免中途断流留下半成品文件,后续启动会反复报模型不存在。
| 启动方式 | 适用场景 | 判断标准 |
|---|---|---|
| 一次性临时对话 | 自己随手问几句 | 没有第二个客户端要连 |
| 常驻服务 | 给其他程序调用 | 有客户端或脚本会连过来 |
| 脚本封装 | 长期挂着用 | 需要固定端口和模型目录 |
- 先拉后跑:命令里带模型名直接启动,Ollama 会自动下载再运行,适合网络稳定的情况;
- 先拉再跑:分两步执行,拉取完再启动,网络不稳时更稳,能避免半成品文件;
- 常驻方式:服务挂后台供其他程序连,具体路径参见 /sources 里对应说明;
- 验证是否真起来:看日志、看端口、发一条最短请求,三步都过才算通。
起不来时按这个顺序排查
报错信息经常误导人。按下面的顺序从底层往上查,命中率最高。每一步只关注一个变量,不要把多个问题一起改。
- 核对模型名与本地列表报「模型不存在」先看名字是否写错,再用列表命令核对本地已有的条目,然后回 /models 对照规范名称。
- 看是否显存相关报错报显存不足或显存相关错误时,先降量化档位再谈别的。档位取舍的思路在 /ai-dict/category/tech 里。
- 量延迟确认网络层服务在但客户端连不上,先到 /tools/speed-test 量一次本机延迟基线,再查端口占用和防火墙规则。
- 区分慢与挂推理模型思考链长,首字慢是正常现象。低于预期时到 /tools 里看运行状态的判断思路,别把「慢」当「挂」。
跑起来之后:让它跑得舒服
能出字之后,下一步是让它在你的硬件上跑得舒服。这里最常见的坑是显存装不下,模型自动往内存卸载,速度断崖式下跌,但进程不报错,你只会觉得「怎么这么慢」。
- 显存装不下的典型表现是自动往内存卸载,速度暴跌,判断依据与调参清单见 /ai-dict/category/hardware;
- 并发只影响吞吐,不改单次正确性,多客户端同时用时先确认显卡规格再决定排队还是加卡;
- 长期挂着用建议固定模型目录、固定端口、把启动命令写成脚本,避免每次重来,路径问题在 /ai-dict/category/infra 里查。
什么情况下不该用这条路
有一部分场景,硬在本地用 Ollama 跑反而费时费力。判断标准不是「能不能跑」,而是「值不值得跑」。下面几种情况建议先看别的方案。
| 场景 | 为什么不合适 | 建议方向 |
|---|---|---|
| 多人共享、要稳定并发和统一限流 | Ollama 不是为共享服务场景设计的 | 对照 /compute/platforms 的选型思路 |
| 偶尔问几句、对延迟不敏感 | 本地折腾的隐性成本高于直接调 API | 成本账看 /official-api 与 /tools/model-cost-calculator |
| 需要精调吞吐或生产级服务化 | 为服务化设计的推理框架更省事 | 换框架,别在 Ollama 上硬拧 |
常见问题
拉了模型但对话时说找不到,怎么办?
九成是名字没对上或没拉完。先用列表命令看本地到底有哪些条目,再拿它去 /models 核对规范名,注意带不带版本后缀是两回事。另外确认拉取时没有中途断网,断流会留下不完整文件,重拉一次最省事。
启动后特别慢,是卡坏了吗?
先排除显存不够被卸载到内存,这种表现就是断崖式变慢;再确认是不是推理模型本身在生成思考内容,首字慢属于正常。想量化对比,先到 /tools/speed-test 量一次延迟基线,再和实际输出对照。
接口连不上是什么原因?
先分两步:服务本身有没有常驻起来,以及客户端填的地址端口对不对。很多情况是只开了一次性对话没开常驻服务,或者端口被别的程序占了。换模型前先比一比额度和口径,到 /ai-nav/category/ai-api 看目录更清楚。