前言

某网友在群里发了这张截图:

$ ollama run qwen3:8b
Error: Post "http://127.0.0.1:11434/api/generate": 
dial tcp 127.0.0.1:11434: connect: connection refused

然后问:"我按教程一步步来的,为什么还是不行?"

因为教程只告诉你"应该怎么做",没告诉你"会在哪里出错"。本文是真实踩坑记录,按照从安装到推理的顺序,把每一个可能卡住你的点全部列出来,并给出经过验证的解决方案


零、从零开始的完整流程(先看这个)

如果你是第一次配置,按下面这个顺序走,可以绕开 90% 的坑:

① 确认 WSL 版本为 2
② 确认 Windows NVIDIA 驱动 ≥ 535(有独显时)
③ 安装 Ollama
④ 启动 ollama serve
⑤ 拉取模型
⑥ 运行测试

每一步完成后再进行下一步,不要跳步


一、安装前:环境检查(5 分钟,省去后面 2 小时)

# 步骤 1:确认 WSL 版本
wsl --list --verbose
# 期望输出:Ubuntu-22.04  Running  2
# 如果是 VERSION 1,执行:wsl --set-version Ubuntu-22.04 2

# 步骤 2:确认内核版本
uname -r
# 期望:5.15 或更高

# 步骤 3:确认 NVIDIA 驱动(有独显时)
nvidia-smi
# 期望:显示显卡信息和驱动版本

实战案例:GPU 识别失败

场景:一位同学配置了 RTX 4070,nvidia-smi 在 CMD 下正常,但在 WSL 里报错:

bash: nvidia-smi: command not found

排查过程

# 检查驱动是否透传
ls /dev/dxg
# 如果文件不存在,说明驱动版本太低

# 查看 Windows 侧驱动版本(在 PowerShell 里执行)
Get-WmiObject Win32_VideoController | Select-Object Name, DriverVersion

发现:驱动版本为 527.x,低于 WSL GPU 支持的最低要求 535.x

解决:到 NVIDIA 官网下载 Game Ready Driver 552.x,安装后重启,WSL 内 nvidia-smi 立刻正常。

⚠️ 关键点:WSL 内不需要也不能单独安装 CUDA Toolkit,驱动由 Windows 侧统一管理。


二、安装 Ollama

标准安装

curl -fsSL https://ollama.com/install.sh | sh

实战案例:安装脚本超时

场景:执行安装脚本后卡在 Downloading ollama...,等了 10 分钟没有进展。

解决方案:手动下载二进制

# 直接从 GitHub Release 下载
curl -L \
  https://github.com/ollama/ollama/releases/latest/download/ollama-linux-amd64 \
  -o /usr/local/bin/ollama

chmod +x /usr/local/bin/ollama

# 验证安装成功
ollama --version

三、启动服务

前台测试启动

ollama serve
# 期望输出:
# time=2025-xx-xx msg="Listening on [::]:11434 (version 0.6.x)"

实战案例:启动后立刻退出,无任何报错

场景ollama serve 执行后没有输出,命令直接返回,但 curl http://localhost:11434 没有响应。

排查步骤

# 开启 debug 模式查看详细日志
OLLAMA_DEBUG=1 ollama serve 2>&1

# 输出(关键错误行):
# listen tcp :11434: bind: address already in use

发现:之前后台运行的 ollama serve & 进程没有被关闭,端口 11434 已被占用。

# 查找占用进程
sudo lsof -i :11434

# 终止旧进程
sudo kill -9 <PID>

# 重新启动
ollama serve &

配置开机自启(避免每次手动启动)

# 前提:确认 systemd 已启用
cat /proc/1/comm
# 应该输出:systemd

# 若输出 init,先在 /etc/wsl.conf 添加以下内容并重启 WSL:
# [boot]
# systemd=true

sudo tee /etc/systemd/system/ollama.service > /dev/null << 'EOF'
[Unit]
Description=Ollama Service
After=network.target

[Service]
ExecStart=/usr/local/bin/ollama serve
Restart=always
RestartSec=3
Environment=HOME=/root
Environment=OLLAMA_MODELS=/root/.ollama/models

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama

# 验证
systemctl status ollama

四、拉取模型

基础命令

ollama pull qwen3:8b

实战案例一:下载到 50% 断开,重试后报 manifest unknown

场景:下载 qwen3:8b(4.7 GB)到一半,网络断开,重新执行 ollama pull 报错:

Error: pull model manifest: file does not exist

解决

# 清理损坏的临时文件
find ~/.ollama/models -name "*.part" -delete
find ~/.ollama/models -name "*incomplete*" -delete

# 重新拉取(Ollama 支持断点续传)
ollama pull qwen3:8b

实战案例二:磁盘空间不足

场景:拉取模型时报错:

Error: write /root/.ollama/models/blobs/sha256-xxx: 
no space left on device

排查

df -h /
# 输出:/dev/sdb  50G  49G  500M   99% /
# WSL 默认分区只有 50G,已用完

解决:迁移模型到 Windows 大容量磁盘

# 新建目标目录(D 盘)
mkdir -p /mnt/d/ollama_models

# 迁移已有模型
mv ~/.ollama/models/* /mnt/d/ollama_models/

# 在 ollama.service 的 [Service] 部分添加:
# Environment=OLLAMA_MODELS=/mnt/d/ollama_models

sudo systemctl daemon-reload
sudo systemctl restart ollama

# 验证
ollama list

五、运行推理

基础测试

ollama run qwen3:8b "你好,请介绍一下你自己"

实战案例:有 GPU 但跑在 CPU 上(速度只有 2 token/s)

场景:运行模型时速度极慢,观察任务管理器发现 GPU 利用率为 0,CPU 占满。

排查步骤

# 查看推理时是否调用 GPU
ollama run qwen3:8b --verbose "test" 2>&1 | grep -i "gpu\|cuda\|layers"

# 若 GPU-Util 始终为 0%,说明 GPU 未被调用
watch -n 1 nvidia-smi

发现:Ollama 版本为 0.3.x,对当前 CUDA 驱动版本兼容性有问题。

# 更新 Ollama 到最新版
curl -fsSL https://ollama.com/install.sh | sh

# 重新验证
ollama run qwen3:8b --verbose "test" 2>&1 | grep "gpu"
# 期望输出:gpu layers: 33/33

六、WSL 内存调优

实战案例:运行模型后 Windows 卡顿,内存占用 95%

C:\Users\<用户名>\.wslconfig 中限制资源(若文件不存在则新建):

[wsl2]
memory=10GB
processors=6
swap=4GB
# 修改后需重启 WSL(PowerShell 中执行)
wsl --shutdown
# 重新打开 Ubuntu 终端即可

七、快速诊断速查表

症状 最可能的原因 诊断命令
connection refused 服务未启动 systemctl status ollama
address in use 端口被旧进程占用 sudo lsof -i :11434
no space left 磁盘满 df -h /
GPU 利用率 0% Ollama 版本过旧 ollama --version
nvidia-smi not found Windows 驱动版本过低 PowerShell 查驱动版本
下载中断重试失败 缓存损坏 清理 *.part 文件

八、总结

配置 Ollama 最容易卡住的三个地方:
1. GPU 不工作 → 99% 是 Windows 驱动版本问题
2. 服务启不来 → 端口冲突或 systemd 未启用
3. 磁盘不足 → 迁移模型目录到大分区

按本文流程走,30 分钟内完成从零到推理的完整配置。

配置参考:Windows 11 + WSL2 Ubuntu 22.04 + Ollama 0.6.x + RTX 4070 环境下验证。

Logo

免费领 100 小时云算力,进群参与显卡、AI PC 幸运抽奖

更多推荐