跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
Shell / BashAI算法

Jetson Orin NX 部署 Ollama 与 Llama 3.2 实战指南

Jetson Orin NX 边缘设备运行大语言模型需解决算力与内存限制。本方案基于 JetPack 5 环境,通过安装专用版 Ollama 实现 GPU 加速推理。涵盖从环境检查、服务配置到 systemd 开机自启的全流程,提供 Llama 3.2 模型量化选择策略及 HTTP API 调用示例。结合机器人语义导航实战案例,展示如何在低功耗场景下优化性能,确保推理延迟与吞吐满足边缘计算需求。

极光发布于 2026/3/21更新于 2026/6/2626 浏览

Jetson Orin NX 部署 Ollama 与 Llama 3.2 实战指南

随着大语言模型(LLM)向边缘侧下沉,如何在资源受限的设备上高效运行推理成为关键。NVIDIA Jetson Orin NX 凭借 100 TOPS AI 算力和统一内存架构,为本地化部署提供了硬件基础。本文将基于 JetPack 5 (Ubuntu 20.04) 环境,演示如何从零搭建 Ollama + Llama 3.2 的 GPU 加速推理平台。

注意: 尽管 Orin NX 算力强劲,但相比桌面级显卡,显存带宽和容量仍是瓶颈。部署时需合理选择模型量化等级,并管理好性能预期。

环境准备与系统检查

硬件与软件基线

组件最低要求推荐配置
设备型号Jetson Orin NXOrin NX 16GB
内存≥8GB16GB
存储≥32GBNVMe SSD 256GB+
系统JetPack 5.xJetPack 5.1.2+

软件层面需确保 CUDA 11.4+ 及 cuDNN 8.6+ 已随 JetPack 安装完毕。对于模型存储,建议预留至少 4GB 空间用于加载量化后的 Llama 3.2 模型。

系统状态验证

安装前确认环境无误:

# 查看 L4T 版本
cat /etc/nv_tegra_release
# 查看系统信息
uname -a
lsb_release -a
# 检查 JetPack 组件
apt list --installed | grep nvidia-jetpack

GPU 监控:Jetson 使用 tegrastats 替代 nvidia-smi。

sudo tegrastats
sudo jetson_clocks --show

关注 GR3D_FREQ(GPU 频率)、RAM(内存占用)及 EMC_FREQ(内存带宽)。若磁盘空间紧张,优先将模型文件移至 NVMe SSD。

安装 Ollama(JetPack 5 专用版)

目录规划

为避免污染系统路径,建议采用用户目录隔离安装:

mkdir -p ~/apps/ollama/{bin,lib,tmp}
sudo mkdir -p /data/ollama/models
sudo chown $USER:$USER /data/ollama/models
# 或直接在用户家目录(空间充足时)
mkdir -p ~/.ollama/models

获取与解压

下载官方提供的 ARM64 JetPack 5 版本包:

# 设置代理(如网络受限)
export HTTP_PROXY=http://127.0.0.1:你的端口
export HTTPS_PROXY=http://127.0.0.1:你的端口

# 获取最新版本号
TAG=$(curl -fsSL https://api.github.com/repos/ollama/ollama/releases/latest | grep -m1 '"tag_name"' | cut -d'"' -f4)
echo "Latest version: $TAG"

# 下载专用包
curl -fL "https://github.com/ollama/ollama/releases/download/${TAG}/ollama-linux-arm64-jetpack5.tgz" \
  -o ~/apps/ollama/tmp/ollama-jetpack5.tgz

解压并安装二进制文件:

cd ~/apps/ollama/tmp
tar -xzf ollama-jetpack5.tgz
mv bin/ollama ~/apps/ollama/bin/
chmod +x ~/apps/ollama/bin/ollama

# 关键步骤:复制运行库
mkdir -p ~/apps/ollama/lib
cp -r lib/* ~/apps/ollama/lib/

# 验证安装
~/apps/ollama/bin/ollama --version

成功输出应显示类似 ollama version 0.4.8。

配置运行环境

环境变量决定了 Ollama 的行为模式,特别是针对边缘设备的并发限制。

# 当前会话生效
export PATH="$HOME/apps/ollama/bin:$PATH"
export OLLAMA_MODELS="/data/ollama/models"
export OLLAMA_HOST="127.0.0.1:11434"

# 边缘端优化参数
export OLLAMA_NUM_PARALLEL=1
export OLLAMA_CONTEXT_LENGTH=2048

永久保存至 .bashrc:

cat >> ~/.bashrc <<'EOF'
# Ollama Configuration
export PATH="$HOME/apps/ollama/bin:$PATH"
export OLLAMA_MODELS="/data/ollama/models"
export OLLAMA_HOST="127.0.0.1:11434"
export OLLAMA_NUM_PARALLEL=1
export OLLAMA_CONTEXT_LENGTH=2048
EOF
source ~/.bashrc

启动服务与 GPU 验证

启动服务后,务必确认是否调用了 GPU 而非 CPU。

ollama serve

观察日志输出,关键标志如下:

level=INFO source=gpu.go:199 msg="detected GPU" library=cuda compute=8.7 driver=11.4 name="NVIDIA Orin" total="15.7 GiB"

若出现 library=cpu,请检查 lib 目录是否正确复制,以及 CUDA 环境是否正常。此时可在新终端运行 sudo tegrastats 实时监控显存变化。

部署 Llama 3.2 模型

模型选型策略

根据显存余量选择量化版本:

  1. 入门级:llama3.2:1b-instruct-q4_0 (~1GB),速度最快。
  2. 平衡型:llama3.2:3b-instruct-q4_0 (~2GB),效果更佳。
  3. 高精度:llama3.2:3b-instruct-q8_0 (~3.5GB),精度最高。

拉取与测试

保持 ollama serve 运行,执行:

ollama pull llama3.2:1b-instruct-q4_0
ollama list

下载完成后即可交互:

ollama run llama3.2:1b-instruct-q4_0
>>> 介绍一下 NVIDIA Jetson 平台

性能测试可参考首 Token 延迟及生成速度。通常 1B 模型在 Orin NX 上能达到 10-15 tokens/s 的生成速率。

HTTP API 接口调用

Ollama 提供标准的 RESTful API,便于集成到业务系统中。

非流式响应

curl -X POST http://127.0.0.1:11434/api/generate \
  -H 'Content-Type: application/json' \
  -d '{ "model": "llama3.2:1b-instruct-q4_0", "prompt": "解释什么是边缘计算", "stream": false }' | jq

Python 流式处理

import requests
import json

url = 'http://127.0.0.1:11434/api/generate'
data = {
    'model': 'llama3.2:1b-instruct-q4_0',
    'prompt': '写一首关于机器人的诗',
    'stream': True
}

response = requests.post(url, json=data, stream=True)
for line in response.iter_lines():
    if line:
        chunk = json.loads(line)
        print(chunk['response'], end='', flush=True)

性能优化与调优

功耗与频率控制

默认情况下,Jetson 可能处于节能模式。强制高性能模式可显著提升推理速度:

# 切换到最高性能模式 (MODE_15W_6CORE)
sudo nvpmodel -m 0
# 锁定最高频率
sudo jetson_clocks

内存与上下文管理

export OLLAMA_CONTEXT_LENGTH=1024
export OLLAMA_KEEP_ALIVE=5m

定期清理未使用的模型以释放空间:

ollama rm model_name
du -sh $OLLAMA_MODELS/*

系统服务配置

为了让服务开机自启,配置 systemd 用户服务:

# ~/.config/systemd/user/ollama.service
[Unit]
Description=Ollama AI Model Server
After=network-online.target

[Service]
Type=simple
Restart=always
Environment="PATH=%h/apps/ollama/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin"
Environment="OLLAMA_MODELS=/data/ollama/models"
ExecStart=%h/apps/ollama/bin/ollama serve
LimitNOFILE=65536

[Install]
WantedBy=default.target

启用命令:

systemctl --user daemon-reload
systemctl --user enable ollama
systemctl --user start ollama

若需后台常驻,可能需要 sudo loginctl enable-linger $USER。

实战应用场景

机器人语义导航示例

结合 ROS 或自定义控制逻辑,利用 LLM 解析自然语言指令:

#!/usr/bin/env python3
import json
import requests

class SemanticNavigator:
    def __init__(self, ollama_url="http://127.0.0.1:11434"):
        self.ollama_url = ollama_url
        self.model = "llama3.2:1b-instruct-q4_0"

    def parse_navigation_intent(self, user_input: str) -> dict:
        prompt = f"""你是一个机器人导航助手。分析以下指令并返回 JSON 格式:
        {{"action": "navigate/stop/pause", "landmark": "具体地标名称", "confidence": 0.0-1.0}}
        用户指令:{user_input} 只返回 JSON,不要其他解释。"""
        response = requests.post(f"{self.ollama_url}/api/generate", json={
            "model": self.model,
            "prompt": prompt,
            "stream": False,
            "options": {"temperature": 0.3}
        })
        try:
            return json.loads(response.json()['response'])
        except:
            return {"action": "unknown", "landmark": None, "confidence": 0.0}

if __name__ == "__main__":
    nav = SemanticNavigator()
    cmd = "带我去充电桩"
    result = nav.parse_navigation_intent(cmd)
    print(f"解析结果:{json.dumps(result, ensure_ascii=False)}")

此场景下,建议限制输出长度并使用结构化提示词以提高稳定性。

总结

在 Jetson Orin NX 上运行 LLM 的关键在于平衡算力、内存与功耗。通过上述步骤,我们完成了从环境搭建到服务化的全流程。

性能参考数据:

  • 1B 模型:首 Token 延迟 ~2-3 秒,生成速度 ~10-15 tokens/s
  • 3B 模型:首 Token 延迟 ~5-8 秒,生成速度 ~5-8 tokens/s
  • 功耗:满载约 15W,待机约 5W

遇到显存溢出或推理缓慢时,优先考虑降低 CONTEXT_LENGTH 或切换更小参数量模型。官方文档和社区论坛是后续排查问题的可靠来源。

目录

  1. Jetson Orin NX 部署 Ollama 与 Llama 3.2 实战指南
  2. 环境准备与系统检查
  3. 硬件与软件基线
  4. 系统状态验证
  5. 查看 L4T 版本
  6. 查看系统信息
  7. 检查 JetPack 组件
  8. 安装 Ollama(JetPack 5 专用版)
  9. 目录规划
  10. 或直接在用户家目录(空间充足时)
  11. 获取与解压
  12. 设置代理(如网络受限)
  13. 获取最新版本号
  14. 下载专用包
  15. 关键步骤:复制运行库
  16. 验证安装
  17. 配置运行环境
  18. 当前会话生效
  19. 边缘端优化参数
  20. Ollama Configuration
  21. 启动服务与 GPU 验证
  22. 部署 Llama 3.2 模型
  23. 模型选型策略
  24. 拉取与测试
  25. HTTP API 接口调用
  26. 非流式响应
  27. Python 流式处理
  28. 性能优化与调优
  29. 功耗与频率控制
  30. 切换到最高性能模式 (MODE15W6CORE)
  31. 锁定最高频率
  32. 内存与上下文管理
  33. 系统服务配置
  34. ~/.config/systemd/user/ollama.service
  35. 实战应用场景
  36. 机器人语义导航示例
  37. 总结
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • C++ 基于正倒排索引的搜索引擎日志与 Server 代码
  • C++ 继承机制详解:从基础语法到多态应用
  • OpenClaw Linux 环境安装、初始化与 Web UI 配置指南
  • Mac Mouse Fix 三大安装方式详解与选择指南
  • KNN 算法原理、实现与 K 值调参指南
  • C++ STL 容器:基于红黑树模拟实现 map 和 set
  • Qwen3.5-9B 如何以 1/13 参数量超越 GPT-oss-120B?架构与性能分析
  • C++ 从 C 过渡核心知识:命名空间与输入输出
  • Java 核心语法与并发编程实战指南
  • 使用 Java 将 PDF 转换为 Excel:基础转换与高级设置
  • C++ 异常处理机制:捕获、自定义与实战
  • Web 自动化测试入门指南:从概念到 Selenium 实战
  • 前端实时数据刷新方案:WebSocket、轮询与后台同步
  • 基于 SpringBoot+Vue 的高校一卡通管理系统设计与实现
  • Apache IoTDB 产品介绍与 Kubernetes 1.24 集群安装部署
  • Dify 前后端分离:独立启动前端 Docker 容器指南
  • CodeX 二次验证手机号
  • 基于C++的DPU医疗领域编程初探
  • Visual C++ 运行库终极解决方案:一键修复系统依赖问题
  • 人形机器人躯干系统设计:结构方案、驱动布局与刚度要求

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online