本文档整理自实际部署经验,涵盖虚拟机配置、模型选择、Ollama 安装、GPU 加速、服务暴露、日常运维等全部环节。
目录
一、虚拟机硬件配置
1.1 推荐配置(基于实测)
| 硬件 | 推荐值 | 说明 |
|---|---|---|
| CPU 核心数 | 4 核 | VMware 官方建议不超过 4 核,过多反而增加调度开销 |
| 内存 (RAM) | 32 GB | 7B 模型约需 14-16GB,建议预留余量 |
| 硬盘 | 500 GB | 模型文件约 4-5GB/个,日志和缓存需额外空间 |
| 网络 | NAT / 桥接 | NAT 可访问外网;桥接可让外部设备访问虚拟机服务 |
1.2 关键设置说明
| 设置项 | 建议值 | 原因 |
|---|---|---|
| 处理器数量 | 1 | 单路 CPU 更稳定 |
| 每个处理器内核数 | 4 | 虚拟机核心总数不能超过宿主机逻辑线程数 |
| 虚拟化引擎 | ✅ 开启 Intel VT-x/EPT 或 AMD-V/RVI | 提升 CPU 虚拟化性能 |
| 内存预留 | 全部预留 | 避免内存回收导致推理卡顿 |
⚠️ 注意:若宿主机为 8 核 16 线程(如 AMD Ryzen 7 5700X),虚拟机核心总数(处理器数 × 每核数)不得超过 16,否则 VMware 会报错无法启动。
二、Ubuntu 环境准备
2.1 系统更新
bash
sudo apt update && sudo apt upgrade -y
2.2 安装基础工具
bash
sudo apt install curl git net-tools -y
2.3 查看系统资源
bash
# 查看内存
free -h
# 查看 CPU 信息
lscpu
# 查看磁盘
df -h
三、安装 Ollama
3.1 官方脚本安装(推荐)
bash
curl -fsSL https://ollama.com/install.sh | sh
3.2 验证安装
bash
ollama --version
sudo systemctl status ollama
3.3 常见问题
- 下载慢:设置代理环境变量后再执行安装脚本
ollama命令未找到:安装脚本可能未加入 PATH,重启终端或执行source ~/.bashrc
四、模型选型指南
4.1 按硬件推荐
| 内存/显存 | 推荐模型 | 说明 |
|---|---|---|
| 16 GB | llama3.2:3b |
轻量,速度快,适合日常对话 |
| 32 GB | qwen2.5:7b |
首选,中文能力最强,工具调用支持好 |
| 32 GB | deepseek-r1:7b |
推理能力强,中文较好 |
| 32 GB | llama3.1:8b |
英文能力强,工具调用最稳定 |
| 64 GB+ | qwen2.5:14b |
效果更好,速度较慢 |
4.2 按需求推荐
| 需求 | 推荐模型 |
|---|---|
| 中文 + 编程 + 工具调用 | qwen2.5:7b |
| 编程专用 | deepseek-coder:6.7b |
| 英文通用 | llama3.1:8b |
| 速度优先 | llama3.2:3b |
4.3 模型命名规则
bash
ollama pull <模型名>:<版本号>
常用版本:
latest:最新版7b、8b、14b:参数规模q4_0、q4_K_M:量化版本(更小更快)
五、下载与运行模型
5.1 下载模型
bash
ollama pull qwen2.5:7b
5.2 查看已下载模型
bash
ollama list
5.3 运行模型(交互式)
bash
ollama run qwen2.5:7b
进入后直接输入问题,/exit 退出。
5.4 运行模型(单次问答)
bash
ollama run qwen2.5:7b "介绍一下自己"
5.5 多轮对话(带上下文)
bash
ollama chat --model qwen2.5:7b --system "你是 Linux 终端专家"
5.6 常用运行参数
| 参数 | 说明 | 示例 |
|---|---|---|
--num-ctx |
上下文窗口大小 | --num-ctx 2048 |
--num-predict |
最大输出长度 | --num-predict 512 |
--temperature |
随机性(0-1) | --temperature 0.1 |
--keep-alive |
模型保留在显存中的时间 | --keep-alive 5m |
六、配置 Ollama 服务
6.1 默认 API 地址
text
http://localhost:11434
6.2 验证 API 是否正常
bash
curl http://localhost:11434/api/tags
6.3 让外部设备访问(暴露到局域网)
修改服务监听地址:
bash
sudo systemctl edit ollama
添加以下内容:
text
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
重启服务:
bash
sudo systemctl daemon-reload
sudo systemctl restart ollama
验证:
bash
sudo netstat -tlnp | grep 11434
# 应显示 0.0.0.0:11434 或 :::11434
6.4 防火墙放行(如有 UFW)
bash
sudo ufw allow 11434/tcp
6.5 查看虚拟机 IP
bash
ip addr show | grep "inet " | grep -v 127.0.0.1
七、配置开机自启
bash
sudo systemctl enable ollama
sudo systemctl is-enabled ollama
# 输出应为 enabled
八、常用 API 接口
8.1 查看模型列表
bash
curl http://localhost:11434/api/tags
8.2 生成文本(/api/generate)
bash
curl http://localhost:11434/api/generate -d '{
"model": "qwen2.5:7b",
"prompt": "你好",
"stream": false
}'
8.3 对话(/api/chat)
bash
curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5:7b",
"messages": [{"role": "user", "content": "你好"}],
"stream": false
}'
8.4 OpenAI 兼容接口
bash
curl http://localhost:11434/v1/chat/completions -H "Content-Type: application/json" -d '{
"model": "qwen2.5:7b",
"messages": [{"role": "user", "content": "你好"}]
}'
8.5 流式输出
bash
curl http://localhost:11434/api/chat -d '{
"model": "qwen2.5:7b",
"messages": [{"role": "user", "content": "你好"}],
"stream": true
}'
九、接入第三方工具
9.1 Trae / Cursor / Continue
| 配置项 | 值 |
|---|---|
| API 地址 | http://<虚拟机IP>:11434/v1 |
| 模型 ID | qwen2.5:7b |
| API 密钥 | 任意填写(如 ollama) |
| 上下文窗口 | 输入 8192 / 输出 4096 |
9.2 Dify / Open WebUI
在模型供应商配置中:
| 配置项 | 值 |
|---|---|
| 模型名称 | qwen2.5:7b |
| API 地址 | http://<虚拟机IP>:11434 |
| 类型 | LLM / Chat |
9.3 命令行快速调用
bash
# 单次问答
ollama run qwen2.5:7b "你好"
# 管道输入
echo "你好" | ollama run qwen2.5:7b
# 保存输出到文件
ollama run qwen2.5:7b "写一个快速排序" > output.txt
十、模型管理
10.1 查看已安装模型
bash
ollama list
10.2 删除模型
bash
ollama rm <模型名>
10.3 更新模型
bash
ollama pull <模型名>
10.4 清理缓存
bash
ollama prune
10.5 查看模型目录大小
bash
du -sh ~/.ollama/models
10.6 修改模型存储目录
bash
sudo systemctl edit ollama
添加:
text
[Service]
Environment="OLLAMA_MODELS=/新路径/ollama_models"
重启:
bash
sudo systemctl daemon-reload
sudo systemctl restart ollama
十一、性能优化
11.1 降低上下文窗口
bash
ollama run qwen2.5:7b --num-ctx 2048
11.2 减少最大输出长度
bash
ollama run qwen2.5:7b --num-predict 512
11.3 降低温度(减少随机性)
bash
ollama run qwen2.5:7b --temperature 0.1
11.4 组合使用
bash
ollama run qwen2.5:7b --num-ctx 1024 --num-predict 512 --temperature 0.1
11.5 模型常驻显存
bash
ollama run qwen2.5:7b --keep-alive 10m
十二、故障排查
12.1 查看 Ollama 日志
bash
sudo journalctl -u ollama -n 50 --no-pager
12.2 实时监控日志
bash
sudo journalctl -u ollama -f
12.3 检查服务状态
bash
sudo systemctl status ollama
12.4 重启服务
bash
sudo systemctl restart ollama
12.5 常见错误及解决
| 错误 | 原因 | 解决 |
|---|---|---|
model not found |
模型未下载或名称错误 | ollama pull <正确模型名> |
connection refused |
服务未运行 | sudo systemctl start ollama |
CUDA driver version insufficient |
NVIDIA 驱动太旧 | 更新驱动或升级 Ollama |
model not loaded |
显存不足 | 换更小的模型或量化版本 |
unable to open database file |
权限问题 | 检查 ~/.ollama 目录权限 |
十三、常用命令速查
| 操作 | 命令 |
|---|---|
| 安装 Ollama | curl -fsSL https://ollama.com/install.sh | sh |
| 查看版本 | ollama --version |
| 查看模型列表 | ollama list |
| 下载模型 | ollama pull <模型名> |
| 运行模型(交互) | ollama run <模型名> |
| 运行模型(单次) | ollama run <模型名> "问题" |
| 多轮对话 | ollama chat --model <模型名> |
| 删除模型 | ollama rm <模型名> |
| 查看服务状态 | sudo systemctl status ollama |
| 启动服务 | sudo systemctl start ollama |
| 停止服务 | sudo systemctl stop ollama |
| 重启服务 | sudo systemctl restart ollama |
| 查看日志 | sudo journalctl -u ollama -n 50 |
| 验证 API | curl http://localhost:11434/api/tags |
十四、总结
| 阶段 | 关键操作 |
|---|---|
| 虚拟机配置 | CPU 4 核,内存 32GB,开启虚拟化引擎 |
| 安装 Ollama | curl -fsSL https://ollama.com/install.sh | sh |
| 模型选择 | 中文首选 qwen2.5:7b,英文首选 llama3.1:8b |
| 下载模型 | ollama pull qwen2.5:7b |
| 运行推理 | ollama run qwen2.5:7b "你好" |
| 暴露服务 | OLLAMA_HOST=0.0.0.0:11434 |
| 接入工具 | API 地址 http://<虚拟机IP>:11434/v1 |
| 日常运维 | ollama list / ollama pull / ollama rm |
0 条评论