Ollama 本地部署避坑指南:你遇到的报错,这里都有解药 最近身边越来越多朋友开始折腾本地大模型十有八九用的都是 Ollama。这东西确实好用一行命令就能把模型跑起来。但好用归好用部署过程中踩坑的概率也不小。我自己折腾了一圈也帮不少人排查过问题发现报错来来回回就那么几类。今天把它们整理出来你遇到了直接对号入座就行。先说安装别输在起跑线上Ollama 的安装本身很简单。Windows 用户去官网 https://ollama.com 下载安装包双击就行。macOS 用户同理下载.dmg拖进 Applications。Linux 用户一行命令curl -fsSL https://ollama.com/install.sh | sh简单是简单但装完不代表能跑。问题往往出在接下来这一步。报错一显存不够用Out of Memory这大概是最高频的报错没有之一。你会看到类似这样的提示error loading model: CUDA out of memory或者模型跑起来了但生成几个字就崩掉。为什么会这样大模型吃显存是大户。一个 7B 参数的模型Q4 量化后大概需要 5-6GB 显存。13B 模型要 10GB 左右。70B 模型40GB 起步。你的显卡显存不够自然就炸了。怎么解决几个思路从简单到复杂1. 换个更小的模型最直接的办法。你显卡只有 8GB 显存就别硬上 70B 了。# 这些模型对显存友好ollama run qwen2.5:7b # 约 5GB 显存ollama run llama3.2:3b # 约 2GB 显存ollama run phi3:mini # 约 2GB 显存2. 缩短上下文长度上下文越长显存吃得越多。如果你不需要处理超长文本把上下文砍短能省不少。# 启动时指定参数ollama run qwen2.5:7b --num-ctx 2048或者在 Modelfile 里设置PARAMETER num_ctx 20483. 限制同时加载的模型数量Ollama 默认会把多个模型同时留在显存里。如果你只跑一个模型可以限制一下设置环境变量OLLAMA_MAX_LOADED_MODELS1。Windows 用户在系统环境变量里添加Linux/macOS 用户在启动前 exportexport OLLAMA_MAX_LOADED_MODELS1ollama serve4. 实在不行用 CPU 跑显存不够可以退到内存。速度慢一些但至少能跑。Ollama 会自动回退到 CPU不需要你手动配置。只是响应速度会从每秒几十个 token 掉到几个 token要有心理准备。报错二NVIDIA 驱动版本太低模型跑不起来一看日志发现 GPU 根本没被调用全在 CPU 上硬扛。报错信息可能是could not select GPUNVIDIA GPU driver is too olderror during llm runner initialization: CUDA driver version is insufficient原因很直白Ollama 依赖 CUDA 来调用 NVIDIA 显卡而 CUDA 需要足够新的驱动。驱动太老CUDA 跑不起来GPU 就用不上。怎么解决1. 更新 NVIDIA 驱动去 https://www.nvidia.com/Download/index 下载最新驱动。装完之后验证一下nvidia-smi这个命令会显示你的驱动版本和 CUDA 版本。如果命令找不到或者报错说明驱动没装好。2. Docker 用户注意如果你是在 Docker 里跑 Ollama除了宿主机驱动要新还得确保装了 NVIDIA Container Toolkit# 验证 Docker 能看到 GPUdocker run --rm --gpus all nvidia/cuda:12.0-base nvidia-smi如果这个命令报错问题出在容器工具链不是 Ollama。3. 检查显卡是不是真的支持不是所有 NVIDIA 显卡都能跑 CUDA。太老的卡比如 GTX 900 系列以前的可能力不从心。一般来说GTX 10 系列及以上才比较靠谱。报错三权限不足Permission Denied这个问题 Linux 用户遇到得比较多。报错长这样permission denied while trying to connect to /dev/kfdPermission denied: /dev/dri/renderD128原因你的用户没有访问 GPU 设备的权限。Linux 下 GPU 设备文件属于特定的用户组通常是render或video你的用户不在这个组里。怎么解决# 把当前用户加入 render 组Ubuntu/Debiansudo usermod -aG render $USER# 有些发行版用 video 组sudo usermod -aG video $USER# 加完之后要重新登录才生效如果是 Docker 里遇到这个问题# 启动容器时加上 --group-adddocker run --rm --gpus all --group-add render ollama/ollama报错四端口被占用这个报错非常明确Error: listen tcp 127.0.0.1:11434: bind: address already in useOllama 默认用 11434 端口。如果这个端口已经被别的程序占了或者你已经有一个 Ollama 在后台跑着就会冲突。怎么解决1. 杀掉占用端口的进程Windows# 查看谁占了 11434 端口netstat -ano | findstr 11434# 用返回的 PID 杀掉进程taskkill /PID 进程号 /FLinux/macOS# 查看占用情况lsof -i :11434# 杀掉kill -9 PID2. 换个端口设置环境变量export OLLAMA_HOST0.0.0.0:8080ollama serve这样 Ollama 就跑在 8080 端口了。注意访问的时候也要改地址http://localhost:8080。3. 最常见的情况后台已经有一个 Ollama 在跑了Windows 用户尤其容易遇到。Ollama 装完会自动在后台启动服务你又手动跑ollama serve就撞了。打开任务管理器看看有没有ollama.exe在跑。有的话不用管它直接用ollama run就行不需要再serve。报错五模型下载失败 / 网络超时执行ollama pull或ollama run时error pulling model: connection timed out或者进度条走到一半卡住不动。原因Ollama 的模型仓库在国外国内访问经常不稳定。怎么解决1. 设置代理如果你有代理给 Ollama 配上export HTTP_PROXYhttp://127.0.0.1:7890export HTTPS_PROXYhttp://127.0.0.1:7890ollama pull qwen2.5:7bWindows 用户在系统环境变量里添加同样的配置。2. 换个网络环境听起来很废话但确实有用。有时候换个 WiFi、切个手机热点反而能连上。3. 手动下载模型文件如果网络实在不行可以在能下载的环境比如公司、云服务器先把模型文件下好拷回来放到 Ollama 的模型目录里。模型存放位置WindowsC:\Users\你的用户名\.ollama\modelsmacOS~/.ollama/modelsLinux/usr/share/ollama/.ollama/models或~/.ollama/models报错六模型加载超时error: model load timed outllm runner timed out waiting for model to load原因模型文件太大加载到显存/内存的时间超过了默认超时时间。怎么解决设置环境变量延长超时时间export OLLAMA_LOAD_TIMEOUT600单位是秒默认是 120 秒2 分钟。大模型可能需要 5-10 分钟才能加载完设成 60010 分钟比较保险。报错七Linux 下 /tmp 目录权限问题这个比较隐蔽fork/exec /tmp/ollama/...: permission deniednoexec 相关的报错原因有些 Linux 发行版特别是服务器版本的/tmp目录挂载时带了noexec参数不允许执行里面的文件。Ollama 会把一些运行时文件解压到/tmp如果执行不了就报错。怎么解决1. 换个临时目录export OLLAMA_TMPDIR/home/你的用户名/tmpmkdir -p $OLLAMA_TMPDIRollama serve2. 或者修改 /tmp 挂载参数sudo mount -o remount,exec /tmp这个方法重启后会失效。要永久生效需要改/etc/fstab。报错八Windows 控制台乱码在老版本 Windows 10 上Ollama 的终端输出可能出现乱码伴随这样的报错The parameter is incorrect原因旧版 Windows 的控制台不支持某些 ANSI 转义序列。怎么解决升级到 Windows 10 22H1 或更高版本。如果暂时升不了可以在 Windows Terminal 里运行 Ollama它对 ANSI 的支持更好。报错九AMD 显卡相关的问题Ollama 也支持 AMD 显卡通过 ROCm但坑比 NVIDIA 多不少。常见问题could not select GPU或者明明有 AMD 显卡却回退到 CPU 模式。怎么解决1. 确认 ROCm 版本兼容AMD 显卡的 AI 计算依赖 ROCm 驱动。去 https://rocm.docs.amd.com 查看你的显卡是否在支持列表里。不是所有 AMD 卡都能跑。2. Docker 用户确保设备映射正确docker run --rm --device /dev/kfd --device /dev/dri --group-add render ollama/ollama3. 多卡用户注意多张 AMD 卡并行推理时偶尔会出现输出乱码的问题。这是 ROCm 的已知问题可以尝试限制只用一张卡export HIP_VISIBLE_DEVICES0几个有用的环境变量最后整理一些常用的环境变量排查问题时可能会用到环境变量作用示例OLLAMA_DEBUG开启调试日志OLLAMA_DEBUG1OLLAMA_HOST设置监听地址和端口0.0.0.0:8080OLLAMA_MODELS自定义模型存储路径/data/ollama/modelsOLLAMA_MAX_LOADED_MODELS最多同时加载几个模型1OLLAMA_NUM_PARALLEL单模型并发请求数4OLLAMA_FLASH_ATTENTION开启 Flash Attention1OLLAMA_LOAD_TIMEOUT模型加载超时秒600OLLAMA_KEEP_ALIVE模型在内存中保持时间10mCUDA_VISIBLE_DEVICES指定用哪张 GPU0开启调试日志的方法# Linux/macOSexport OLLAMA_DEBUG1ollama serve# Windows PowerShell$env:OLLAMA_DEBUG1ollama serve调试日志会输出大量详细信息包括 GPU 检测过程、模型加载细节、内存分配情况排查问题时特别有用。写在最后Ollama 本身已经做得相当易用了大部分情况下装完就能跑。但一旦涉及 GPU 驱动、显存管理、系统权限这些底层的东西报错就来了。遇到问题别慌先看报错信息再对照上面的列表。大多数情况下答案就在那里