麒麟 V10 x86_64 部署 ollama v0.1.39 + Qwen2.5‑3B‑Instruct‑Q4_K_M 完整总结
服务器:麒麟 V10 x86_64,32G 内存,有互联网;v0.1.39 无 tgz 完整包,只有单静态 ELF 可执行文件;目标:模型常驻内存、CPU 推理、对外 11434API 服务。 文件存放目录:
/data/tangdou/ollama
一、准备文件
- 下载 release 静态单文件(不要动态链接版本)
cd /data/tangdou/ollama
#下载v0.1.39静态单文件
wget https://github.com/ollama/ollama/releases/download/v0.1.39/ollama-linux-amd64
#赋予执行权限
chmod +x ollama-linux-amd64
#校验:必须输出 statically linked
file ollama-linux-amd64
#校验版本
./ollama-linux-amd64 --version- 模型文件:
qwen2.5‑3b‑instruct‑q4_k_m.gguf放置在/data/tangdou/ollama
⚠️不要下载 rocm 版本,那是 AMD 显卡专用;arm64 包用于鲲鹏服务器,本 x86 机器不用。
二、部署 ollama 程序
#复制到系统全局命令
cp /data/tangdou/ollama/ollama-linux-amd64 /usr/bin/ollama
chmod +x /usr/bin/ollama
ollama --version
#输出 ollama version 0.1.39三、systemd 服务配置(模型常驻内存核心)
创建 /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/tangdou/ollama/models"
Environment="OLLAMA_NUM_PARALLEL=1"
Environment="OLLAMA_MAX_LOADED_MODELS=2"
Environment="OLLAMA_KEEP_ALIVE=-1"
Environment="OLLAMA_GPU_OVERHEAD=0"
[Install]
WantedBy=multi-user.target参数说明
OLLAMA_KEEP_ALIVE=-1:模型永久常驻内存,空闲不卸载OLLAMA_NUM_PARALLEL=1:CPU 服务器限制并发,提升单请求速度OLLAMA_MODELS:模型库路径,数据全部存 /data 下,不占系统盘
四、目录、防火墙、启动服务
#模型存储目录
mkdir -p /data/tangdou/ollama/models
chmod 755 /data/tangdou/ollama/models
#防火墙放行11434端口
firewall-cmd --add-port=11434/tcp --permanent
firewall-cmd --reload
#加载systemd配置,启动开机自启
systemctl daemon-reload
systemctl enable ollama
systemctl start ollama
systemctl status ollama五、导入本地 GGUF 模型
cd /data/tangdou/ollama,编写 Modelfile
FROM ./qwen2.5-3b-instruct-q4_k_m.gguf
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
TEMPLATE "{{ if .System }}<|im_start|>system\n{{ .System }}<|im_end|>\n{{ end }}{{ if .Prompt }}<|im_start|>user\n{{ .Prompt }}<|im_end|>\n{{ end }}<|im_start|>assistant\n{{ .Response }}<|im_end|>"
SYSTEM "You are a helpful assistant."构建 ollama 模型镜像
ollama create qwen2.5:3b -f Modelfile
ollama list六、开机自动预加载模型(重启服务自动进内存,可选)
- 编写预加载脚本
/data/tangdou/ollama/preload-model.sh
#!/bin/bash
sleep 15
curl -s http://127.0.0.1:11434/api/generate -d '{
"model":"qwen2.5:3b",
"prompt":"init",
"stream":false,
"keep_alive":-1
}' >/dev/null 2>&1chmod +x /data/tangdou/ollama/preload-model.sh- 在 ollama.service 的
[Service]段末尾追加一行
ExecStartPost=/data/tangdou/ollama/preload-model.sh- 生效
systemctl daemon-reload
systemctl restart ollama七、验证与测速
1、验证模型是否常驻内存
curl -s http://127.0.0.1:11434/api/ps返回 models 数组包含 qwen2.5:3b,代表常驻成功。
2、测速命令(直接输出 token/s)
curl http://127.0.0.1:11434/api/generate -d '{
"model":"qwen2.5:3b",
"prompt":"请用200字介绍麒麟操作系统V10",
"stream":false,
"keep_alive":-1
}' | jq '.eval_count, .eval_duration, (.eval_count/(.eval_duration/1000000000))'本环境实测:~6‑7 token/s(纯 CPU,正常水平)
3、命令行交互测试
ollama run qwen2.5:3b八、常用运维命令
#停止模型,释放内存
ollama stop qwen2.5:3b
#查看ollama实时日志
journalctl -u ollama -f
#查看进程实际生效环境变量
cat /proc/$(pidof ollama)/environ | tr '\0' '\n'
#重启服务
systemctl restart ollama九、关键踩坑清单
- v0.1.39没有 ollama‑linux‑amd64.tgz,只有单文件 ELF;必须是
statically linked静态版本,动态链接版本无法正常 serve。 OLLAMA_KEEP_ALIVE=-1实现常驻;重启 ollama 会丢失内存,依靠 preload 脚本自动预加载。- CPU 机器
OLLAMA_NUM_PARALLEL建议设置 1,并发大时性能会明显下跌。 - 不要使用 8192 超大上下文,4096 适合 CPU 环境,降低算力开销。
- load_duration 接近 0 毫秒代表模型已经在内存;load_duration 几百毫秒 / 秒代表冷加载。
十、API 调用示例
curl http://127.0.0.1:11434/api/generate -d '{
"model":"qwen2.5:3b",
"prompt":"你好",
"keep_alive":-1,
"stream":false
}'外部机器访问:
http://服务器IP:11434