Skip to content

麒麟 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

一、准备文件 ​

  1. 下载 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
  1. 模型文件: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

六、开机自动预加载模型(重启服务自动进内存,可选) ​

  1. 编写预加载脚本 /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>&1
chmod +x /data/tangdou/ollama/preload-model.sh
  1. 在 ollama.service 的[Service]段末尾追加一行
ExecStartPost=/data/tangdou/ollama/preload-model.sh
  1. 生效
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

九、关键踩坑清单 ​

  1. v0.1.39没有 ollama‑linux‑amd64.tgz,只有单文件 ELF;必须是statically linked静态版本,动态链接版本无法正常 serve。
  2. OLLAMA_KEEP_ALIVE=-1实现常驻;重启 ollama 会丢失内存,依靠 preload 脚本自动预加载。
  3. CPU 机器OLLAMA_NUM_PARALLEL建议设置 1,并发大时性能会明显下跌。
  4. 不要使用 8192 超大上下文,4096 适合 CPU 环境,降低算力开销。
  5. 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

Released under the MIT License.