8GB内存也能跑大模型!openEuler + Ollama 实战部署教程

前言

随着人工智能技术的快速发展,大语言模型已经成为各行各业关注的焦点。但对于个人开发者和中小企业来说,如何在有限的硬件条件下部署和使用大模型,一直是个难题。 本文将手把手教你在 openEuler 25.09 系统上使用 Ollama 部署本地大模型,即使是普通配置的服务器也能轻松运行!

本文亮点:

  • ✅ 零基础友好:从系统检查到模型运行,每一步都有详细命令
  • ✅ 完全离线:部署后无需联网,数据安全有保障
  • ✅ 配置要求低:8GB 内存即可运行,适合测试和学习
  • ✅ 真实测试数据:包含完整的性能测试和资源占用分析 写这篇教程的目的很简单:让更多人能够低门槛地接触和使用大模型技术。 💡 重要提示:本教程在 7.2GB 内存、6 核 CPU 的测试环境下完成,配置不高但足够使用。只要按照教程一步步来,你也能成功部署自己的本地大模型!

📊 我的配置 由于我是测试环境 配置不怎么好 但是教程是绝对的(按照我的教程一步来即可部署大模型)

项目 配置 状态
操作系统 openEuler 25.09 ✅ 最新版本!
CPU * *
内存 7.2GB 总量,6.4GB 可用 ✅ 足够
磁盘 根目录 69GB,已用 5.9GB ✅ 空间充足
Swap 3.9GB ✅ 很好

镜像地址:www.openeuler.org/en/ 点击直达

第一步:系统环境检查与准备1.1 检查系统版本

1.1 检查系统版本

bash 复制代码
# 查看系统版本
cat /etc/os-release

# 查看内核版本
uname -r

1.2 检查硬件配置

bash 复制代码
# 查看 CPU 信息
lscpu | grep -E "Model name|CPU\(s\)|Thread"

# 查看内存信息
free -h

# 查看磁盘空间
df -h

# 记录这些数据(写文章时放在"测试环境"部分)

最低配置要求:

  • CPU: 4核
  • 内存: 8GB
  • 磁盘: 20GB 可用空间

1.3 更新系统(可选但推荐)

bash 复制代码
# 更新软件包列表
sudo dnf update -y

# 安装基础工具
sudo dnf install -y wget curl vim htop

第二步:安装 Ollama

下载并安装 Ollama 慢不行

bash 复制代码
# 使用官方安装脚本(推荐方式)
curl -fsSL https://ollama.com/install.sh | sh

如果上面的命令失败(网络问题),使用手动安装: 备用路线 但是大家可以去官方下载也 x!!!

bash 复制代码
# 手动下载最新版本(以 0.3.14 为例,请访问 https://github.com/ollama/ollama/releases 查看最新版本)
wget https://github.com/ollama/ollama/releases/download/v0.3.14/ollama-linux-amd64

# 移动到系统路径
sudo mv ollama-linux-amd64 /usr/local/bin/ollama

# 添加执行权限
sudo chmod +x /usr/local/bin/ollama

# 验证安装
ollama --version

报错 我下载的时候镜像有问题 可能没魔法的原因 出现了很多错误镜像一个个都i不行 以下命令解决了我的问题 github.com/ollama/olla... 在这里找源码包上传到服务器 我成功下载了 上传到放服务器

编译安装

bash 复制代码
# 1. 删除错误移动的文件
sudo rm -f /usr/local/bin/ollama

# 2. 查看 bin 目录内容
ls -lh ~/bin/

# 3. 正确移动可执行文件
sudo cp ~/bin/ollama /usr/local/bin/

# 4. 添加执行权限
sudo chmod +x /usr/local/bin/ollama

# 5. 验证安装
ollama --version

启动 Ollama 服务

bash 复制代码
# 方式一:直接启动(前台运行,测试用)
ollama serve
bash 复制代码
# 方式二:后台运行(推荐)
nohup ollama serve > /tmp/ollama.log 2>&1 &

# 检查服务是否启动
ps aux | grep ollama

别着急 等待 启动成功 成功启动 Ollama


第三步:下载并运行小模型

3.1 选择模型

推荐模型(按大小排序): qwen2.5:1.5b - 1.5GB,速度最快,适合测试 gemma2:2b - 2GB,Google 出品 llama3.2:3b - 3GB,Meta 最新,综合性能好 我们先用最小的模型测试:

bash 复制代码
# 下载 Qwen 2.5 1.5B 模型(约 1.5GB,下载需要几分钟)
ollama pull qwen2.5:1.5b

下载过程示例:


3.2 查看已下载的模型

bash 复制代码
# 列出所有模型
ollama list

预期输出:

csharp 复制代码
[root@openEuler-ollama ~]# ollama list
NAME            ID              SIZE      MODIFIED      
qwen2.5:0.5b    a8b0c5157701    397 MB    2 minutes ago    

第四步:基础功能测试

4.1 第一次运行模型

arduino 复制代码
# 运行模型(交互模式)
ollama run qwen2.5:1.5b

进入交互界面后,测试以下问题:


4.2 使用命令行直接提问(非交互模式)

arduino 复制代码
# 单次提问
 ollama run qwen2.5:0.5b "用一句话介绍 大模型"

第五步:性能测试

5.1 推理速度测试

创建测试脚本:

bash 复制代码
# 创建测试目录
mkdir -p ~/ollama_test
cd ~/ollama_test

# 创建推理速度测试脚本
cat > test_inference_speed.sh <<'EOF'
#!/bin/bash

echo "========================================="
echo "Ollama 推理速度测试"
echo "测试时间: $(date)"
echo "========================================="

MODEL="qwen2.5:1.5b"

# 测试 1:短问题
echo -e "
【测试1】短问题(10字以内)"
echo "问题:介绍 大模型含义"
time ollama run $MODEL "介绍 大模型的含义" 2>&1 | tee test1_output.txt

# 测试 2:中等问题
echo -e "
【测试2】中等问题(50字左右)"
echo "问题:详细介绍 openEuler 操作系统的特点和应用场景"
time ollama run $MODEL "详细介绍 openEuler 操作系统的特点和应用场景" 2>&1 | tee test2_output.txt

# 测试 3:长问题
echo -e "
【测试3】长问题(100字以上)"
echo "问题:作为系统管理员,我想在生产环境部署容器化应用,请对比 Docker 和 Podman 的优缺点,并给出选择建议"
time ollama run $MODEL "作为系统管理员,我想在生产环境部署容器化应用,请对比 Docker 和 Podman 的优缺点,并给出选择建议" 2>&1 | tee test3_output.txt

echo -e "
========================================="
echo "测试完成!结果已保存到当前目录"
echo "========================================="
EOF

# 添加执行权限
chmod +x test_inference_speed.sh

# 运行测试
./test_inference_speed.sh

测试完成后,记录以下数据: 每个测试的 real 时间(总耗时) 输出文件中的 tokens/s(推理速度)


5.2 资源占用测试

创建资源监控脚本:

bash 复制代码
# 创建资源监控脚本
cat > test_resource_usage.sh <<'EOF'
#!/bin/bash

echo "========================================="
echo "Ollama 资源占用测试"
echo "测试时间: $(date)"
echo "========================================="

MODEL="qwen2.5:1.5b"

# 启动后台监控
echo -e "
开始监控资源占用..."

# 获取 Ollama 进程 PID
OLLAMA_PID=$(pgrep -f "ollama serve")

if [ -z "$OLLAMA_PID" ]; then
    echo "错误:Ollama 服务未运行!"
    echo "请先运行:nohup ollama serve > /tmp/ollama.log 2>&1 &"
    exit 1
fi

echo "Ollama 进程 PID: $OLLAMA_PID"

# 记录初始状态
echo -e "
【初始状态】(模型未加载)"
ps aux | grep ollama | grep -v grep
free -h

# 加载模型并提问
echo -e "
【加载模型并推理】"
ollama run $MODEL "详细介绍 计算机" > /dev/null &
QUERY_PID=$!

# 等待 3 秒让模型加载
sleep 3

# 记录运行时状态
echo -e "
【运行时状态】(模型已加载)"
ps aux | grep ollama | grep -v grep
free -h

# 使用 top 记录 CPU 使用率(5 秒)
echo -e "
【CPU 使用率】(采样 5 秒)"
top -b -n 5 -d 1 -p $OLLAMA_PID | grep ollama

# 等待查询完成
wait $QUERY_PID

echo -e "
========================================="
echo "资源测试完成!"
echo "========================================="
EOF

# 添加执行权限
chmod +x test_resource_usage.sh

# 运行测试
./test_resource_usage.sh

记录以下数据: 初始内存占用(模型未加载) 运行时内存占用(模型已加载) CPU 使用率峰值


第六步:收集测试数据

6.1 生成测试报告

javascript 复制代码
# 创建报告生成脚本
cat > generate_report.sh <<'EOF'
#!/bin/bash

REPORT_FILE="ollama_test_report.txt"

cat > $REPORT_FILE <<REPORT
========================================
openEuler + Ollama 性能测试报告
========================================

生成时间: $(date)

----------------------------------------
1. 系统环境
----------------------------------------
操作系统: $(cat /etc/os-release | grep "PRETTY_NAME" | cut -d'"' -f2)
内核版本: $(uname -r)
CPU: $(lscpu | grep "Model name" | cut -d':' -f2 | xargs)
CPU 核心数: $(nproc)
内存: $(free -h | grep Mem | awk '{print $2}')
磁盘: $(df -h / | tail -1 | awk '{print $2}')

----------------------------------------
2. Ollama 信息
----------------------------------------
Ollama 版本: $(ollama --version 2>/dev/null || echo "未安装")
已下载模型:
$(ollama list 2>/dev/null || echo "无")

----------------------------------------
3. 测试文件清单
----------------------------------------
$(ls -lh ~/ollama_test/ 2>/dev/null || echo "测试目录不存在")

----------------------------------------
说明
----------------------------------------
详细测试结果请查看 ~/ollama_test/ 目录下的文件:
- test1_output.txt: 短问题测试结果
- test2_output.txt: 中等问题测试结果
- test3_output.txt: 长问题测试结果
- query_*.txt: 批量测试结果

========================================
REPORT

echo "报告已生成: $REPORT_FILE"
cat $REPORT_FILE
EOF

chmod +x generate_report.sh
./generate_report.sh

diff 复制代码
说明
----------------------------------------
详细测试结果请查看 ~/ollama_test/ 目录下的文件:
- test1_output.txt: 短问题测试结果
- test2_output.txt: 中等问题测试结果
- test3_output.txt: 长问题测试结果
- query_*.txt: 批量测试结果

测试数据记录模板

表2: 模型信息 我们测试了 Qwen2.5 系列的两个模型,它们在模型大小和下载时间上有明显差异:

模型名称 大小 下载时间
qwen2.5:0.5b 397 MB 约 30 秒
qwen2.5:1.5b 986 MB 约 1 分钟

表3: 推理速度测试 为了评估模型在不同问题长度下的表现,我们设计了三组测试,分别对应短、中、长三种问题类型。

测试项 问题长度 总耗时(秒) 推理速度(tokens/s)
测试1 短(10字) 48.8 6.5
测试2 中(50字) 52 6.3
测试3 长(100字+) 70.3 6.8

平均推理速度: 6.5 tokens/s


表4: 资源占用 资源占用测试帮助我们了解模型运行时对系统资源的需求,这对于生产环境部署至关重要。

状态 内存占用 CPU 使用率
初始状态 153 MB 1.40%
运行时 1.17 GB 320%

说明: CPU 使用率 320% 表示使用了约 3.2 个 CPU 核心


表5: 测试汇总 通过连续执行多个问题,我们可以评估模型的稳定性和平均表现。

指标 数值
测试问题数 3
总耗时 171.1 秒
平均耗时 57 秒/问题

openEuler 资源管理能力

资源占用分析: 内存占用合理: 1.17 GB 对于 1.5B 参数模型来说属于正常水平 CPU 利用率高: 能够充分利用多核 CPU(3.2/6 核心),无资源浪费 空闲时轻量: 服务空闲时仅占用 153 MB,对系统影响极小 资源隔离: openEuler 的 cgroup 机制确保 Ollama 不会影响其他服务

openEuler 的资源管理优势

**1. 智能调度: 自动识别 CPU 密集型任务,优先分配计算资源 2. 内存压缩: 支持内存压缩技术,提升内存利用率

  1. NUMA 优化: 在多处理器系统上,NUMA 感知调度性能更优
  2. 监控便捷: 系统自带 atop、htop 等监控工具,便于实时观察**

结尾小总结

通过本次实践,我们成功在 openEuler 25.09 系统上部署了本地大模型,并完成了一系列性能测试。虽然测试环境配置不高(7.2GB 内存、6 核 CPU),但整个过程非常顺利,这充分证明了: ✅ 部署本地大模型并不需要顶级配置 ✅ openEuler 系统对 AI 应用的支持非常友好 ✅ Ollama 工具简单易用,适合快速上手

如果您正在寻找面向未来的开源操作系统,不妨看看DistroWatch 榜单中快速上升的 openEuler:distrowatch.com/table-mobil...,一个由开放原子开源基金会孵化、支持"超节点"场景的Linux 发行版。 openEuler官网:www.openeuler.openatom.cn/zh/

🚀写在最后

希望我的分享能够帮助到更多的人,如果觉得我的分享有帮助的话,请大家一键三连支持一下哦~ ❤️原创不易,期待你的关注与支持~ 点赞👍+收藏⭐️+评论✍️ 😊之后我会继续更新前端学习小知识,关注我不迷路~

相关推荐
用户3778330434942 分钟前
( 教学 )Agent 构建 Prompt(提示词)3. StructuredOutputParser (结构化输出)
人工智能
记忆偶然44 分钟前
语音转文本技术实践:主流工具特性解析与应用场景探讨
人工智能·学习·语音识别
我很哇塞耶1 小时前
AAAI 2026 | 跨视频推理基准 CrossVid:给多模态大模型出一道“综合题”
人工智能·ai·大模型·多模态大模型
闽农1 小时前
Trae、Cursor生成式AI,Builder智能体体验报告
人工智能·生成式ai·builder智能体
leafff1231 小时前
智能体架构深度解析::一文了解LangChain、LangGraph与MCP框架集成原理分析
数据库·人工智能
CClaris1 小时前
PyTorch 损失函数与激活函数的正确组合
人工智能·pytorch·python·深度学习·机器学习
Mrliu__1 小时前
Opencv(十八) : 图像凸包检测
人工智能·opencv·计算机视觉
Brduino脑机接口技术答疑1 小时前
脑机接口数据处理连载(六) 脑机接口频域特征提取实战:傅里叶变换与功率谱分析
人工智能·python·算法·机器学习·数据分析·脑机接口
计算所陈老师1 小时前
Palantir的核心是Ontology
大数据·人工智能·知识图谱