Jetson NanoOllama安装配置一条龙教程 (含疑难解答)

云信安装大师
90
AI 质量分
10 5 月, 2025
2 分钟阅读
0 阅读

Jetson Nano Ollama安装配置一条龙教程 (含疑难解答)

引言

Ollama是一个强大的本地大语言模型运行框架,可以让你在本地设备上运行各种开源AI模型。本教程将手把手教你如何在Jetson Nano上安装和配置Ollama,并解决可能遇到的常见问题。

准备工作

硬件要求

  • Jetson Nano开发板 (推荐4GB内存版本)
  • 至少32GB的microSD卡
  • 稳定的电源供应(推荐5V4A)
  • 良好的散热方案(建议安装散热风扇)

软件要求

  • JetPack 4.6或更高版本(建议使用官方镜像)
  • Ubuntu 18.04/20.04 LTS
  • Python 3.6+

网络要求

  • 稳定的互联网连接(下载模型需要)
  • 建议使用有线网络连接

第一步:系统基础配置

1.1 更新系统软件包

代码片段
sudo apt update && sudo apt upgrade -y

这条命令会更新软件包列表并升级所有可升级的软件包。

1.2 安装基础依赖

代码片段
sudo apt install -y \
    build-essential \
    cmake \
    git \
    wget \
    curl \
    python3-pip \
    python3-dev \
    libopenblas-dev \
    libssl-dev

这些是编译和运行Ollama所需的基础依赖项。

第二步:安装Ollama

2.1 下载Ollama安装脚本

代码片段
curl -fsSL https://ollama.com/install.sh | sh

这个命令会从官方下载并执行安装脚本。

2.2 验证安装

代码片段
ollama --version

如果安装成功,会显示当前的Ollama版本号。

第三步:配置环境变量

编辑~/.bashrc文件:

代码片段
nano ~/.bashrc

在文件末尾添加以下内容:

代码片段
# Ollama环境变量
export OLLAMA_HOST=0.0.0.0
export OLLAMA_ORIGINS=*

保存后执行:

代码片段
source ~/.bashrc

这些环境变量允许远程访问Ollama服务并设置CORS策略。

第四步:启动Ollama服务

4.1 启动服务

代码片段
ollama serve &

&符号让服务在后台运行。

4.2 检查服务状态

代码片段
ps aux | grep ollama

应该能看到ollama进程正在运行。

第五步:下载和运行模型

5.1 Jeston Nano推荐模型

由于Jetson Nano的计算能力有限,建议使用较小的模型:

代码片段
ollama pull gemma:2b-int8   # Google的小型模型,适合边缘设备
ollama pull phi3:mini       # Microsoft的小型高效模型

5.2 运行模型交互界面

代码片段
ollama run gemma:2b-int8

这会启动一个交互式会话,你可以输入问题与模型交流。

第六步:优化性能(重要)

由于Jetson Nano资源有限,我们需要做一些优化:

6.1 CPU亲和性设置

创建一个启动脚本start_ollama.sh:

代码片段
#!/bin/bash

# CPU亲和性设置(只使用CPU0)
taskset -c 0 ollama serve &

echo "Ollama started with CPU affinity"

然后给脚本执行权限:

代码片段
chmod +x start_ollama.sh

这样可以将Ollama绑定到单个CPU核心,减少上下文切换开销。

6.2 SWAP空间扩展(内存不足时)

如果遇到内存不足问题,可以增加SWAP空间:

代码片段
sudo fallocate -l 4G /swapfile   #创建4GB交换文件 
sudo chmod 600 /swapfile         #设置权限 
sudo mkswap /swapfile            #格式化交换文件 
sudo swapon /swapfile            #启用交换文件 
sudo swapon --show               #验证交换空间 

将以下内容添加到/etc/fstab使交换永久生效:

代码片段
/swapfile none swap sw 0  0  

FAQ常见问题解答

Q1: Ollama启动时报错”CUDA not available”

解决方案
确保已正确安装CUDA驱动:

代码片段
nvidia-smi   #检查驱动状态 

如果没有输出,需要重新安装JetPack SDK。

Q2: Jetson Nano运行大模型时卡死

解决方案
1.只使用小型量化模型(带int8后缀的)
2.确保有足够的SWAP空间
3.添加散热风扇防止过热降频

Q3: Ollama响应速度很慢

优化建议
1.关闭所有不必要的进程
2.使用有线网络连接
3.尝试更小的模型如phi3:mini

API调用示例(Python)

如果你想通过Python代码调用本地Ollama API:

代码片段
import requests 

url = "http://localhost:11434/api/generate"
headers = {"Content-Type": "application/json"}
data = {
    "model": "gemma:2b-int8",
    "prompt": "解释量子计算的基本原理",
    "stream": False 
}

response = requests.post(url, headers=headers, json=data) 

if response.status_code ==200:
    print(response.json()["response"])
else:
    print(f"Error:{response.status_code}")

这段代码会向本地运行的Ollama发送请求并获取响应。

Web UI访问(可选)

如果你想通过浏览器访问:

1.首先确保Ollama服务正在运行
2.Jetson Nano IP地址为192.168.x.x
3.在其他设备的浏览器中访问 http://192.168.x.x:11434

GPU监控工具

实时监控GPU使用情况:

代码片段
watch -n1 nvidia-smi   #每秒刷新一次GPU状态 

这个命令可以帮助你观察推理时的GPU负载情况。

Jeston Nano温度监控

防止过热降频:

代码片段
watch -n1 cat /sys/devices/virtual/thermal/thermal_zone*/temp 

温度读数除以1000就是摄氏度值。超过70°C应考虑加强散热。

Jeston Nano电源模式设置

为了获得最佳性能:

代码片段
sudo nvpmodel -m0     #设置为最大性能模式  
sudo jetson_clocks   #锁定最高频率  

注意这会导致功耗和发热增加!

Ollama常用命令备忘单

命令 说明
ollama list|列出已下载的模型
ollama pull <model>|下载新模型
ollama run <model>|与指定模型交互
ollama serve &|后台启动服务
killall ollamla|停止所有Ollma进程

Jeston Nano长期运行的稳定性建议

1.散热:必须加装主动散热风扇
2.电源:使用优质5V4A电源适配器
3.存储:建议使用高速microSD卡或SSD
4.系统:定期清理不需要的软件包

可以通过以下命令清理系统:

代码片段
sudo apt autoremove -y   #删除不需要的包  
sudo journalctl --vacuum-size=50M   #限制日志大小  

Ollma自动启动设置 (可选)

如果你希望Jetson Nano开机自动启动Ollaam:

创建systemd服务文件 /etc/systemd/system/ollamda.service

代码片段
[Unit]
Description=Ollaam Service 
After=network.target 

[Service] 
ExecStart=/usr/bin/ollamda serve --host=0..00..00..00--port=11434   
Restart=always   
User=$USER   

[Install]   
WantedBy=multi-user.target   

然后启用服务:

代码片段
sudo systemctl enable ollamda   
sudo systemctl start ollamda   

现在每次重启都会自动启动Ollaam了!


通过这篇详细的教程,你应该已经成功在JetsonNano上部署了Ollaam并能够流畅地运行小型语言模型了。虽然JetsonNano的计算能力有限,但经过适当优化后仍然可以成为一台不错的本地AI实验平台。

原创 高质量