1. 写在前面:为什么我要写这篇非专业测评
Jetson Nano 这板子我前后经手过好几块,从最早一批 4GB 版本到后来 B01 修订版,踩过的坑不算少。网上那些专业测评动不动就是跑分、功耗曲线、散热仿真,数据确实漂亮,但新手看完往往还是不知道第一步该干嘛。所以这篇东西定位很明确:非专业、不堆参数、只讲一个普通开发者拿到板子之后怎么把它跑起来、怎么少走弯路。
如果你刚下单还没收到货,或者板子已经在桌上吃灰好几天,那这篇内容就是写给你的。我会从开箱那一刻讲起,包括配件怎么选、系统怎么烧、第一次开机怎么配置、常见报错怎么排查,最后再聊聊这块板子到底适合做什么、不适合做什么。全程不吹不黑,只讲我实际用下来的感受。
需要提前说明的是,Jetson Nano 属于嵌入式 AI 开发板,它的定位和树莓派有重叠但又不完全一样。树莓派更像一台微型通用电脑,而 Nano 的核心卖点是那颗 128 核 Maxwell 架构的 GPU,能跑 CUDA 和 TensorRT,适合做边缘侧的推理任务。这个区别决定了你买它之前要想清楚用途,否则很容易买回来发现"还不如买个 N100 小主机"。
2. 开箱与配件清单:别急着上电
2.1 盒子里到底有什么
标准版 Jetson Nano 开发者套件的包装很朴素,里面就几样东西:主板本体一块、一张快速入门卡片、一个小的亚克力或者纸质的支撑架(不同批次不太一样)。没有电源、没有 SD 卡、没有散热风扇、没有网线、没有 USB 线。这一点很多新手会懵,以为像买手机一样开箱即用,结果发现啥都缺。
我见过不止一个人拿着板子问我"为什么插上电脑没反应",答案就是它根本不需要插电脑,它是一台独立运行的小电脑,你得自己配齐外围设备。
2.2 必须自己准备的配件
下面这张表是我建议的最低配置清单,按重要性排序:
| 配件 | 规格要求 | 为什么必须 | 大概预算 |
|---|---|---|---|
| microSD 卡 | 32GB 以上,Class 10 / U1 以上 | 系统盘,速度直接影响体验 | 30-60 元 |
| 电源 | 5V 4A,DC 圆头 5.5/2.1mm | 供电不足会随机重启 | 30-50 元 |
| 散热风扇 | 40mm 5V 或官方风扇 | 满载不加散热会降频 | 15-40 元 |
| 网线或 USB WiFi 模块 | 千兆网线最佳 | 首次配置需要网络 | 视情况 |
| HDMI 线 + 显示器 | 支持 HDMI 输出 | 首次配置需要显示 | 视情况 |
| 键盘鼠标 | USB 接口 | 首次配置需要输入 | 视情况 |
这里重点说电源。Jetson Nano 的官方推荐是 5V 4A,通过 DC 圆口供电。很多人图省事用 micro USB 口供电,那个口最多只能稳定提供 5V 2A,一旦你插上 WiFi 模块、USB 摄像头或者跑个推理任务,电流一上去电压就掉,板子直接重启。我实测下来,micro USB 供电只适合最轻量的场景,正经用必须上 DC 供电。
2.3 关于散热这件事
Jetson Nano 的散热设计比较保守,原厂那个小散热片在待机时温度大概 40 度左右,但一旦跑满 GPU,温度能飙到 80 度以上,然后触发降频保护,性能直接腰斩。我建议不管你是哪个版本,都加一个主动散热风扇。
风扇的接法有两种:一种是接在板子上的 4 针风扇接口(J15),支持 PWM 调速;另一种是接在 5V 和 GND 排针上,全速运转。前者更安静,后者更简单。如果你买的是那种带温控的套件风扇,直接插 J15 就行,系统里可以通过脚本控制转速。
注意:接风扇之前一定确认正负极,接反了风扇不转是小事,烧了板子的供电电路就麻烦了。5V 和 GND 的位置在板子丝印上都有标注,拿不准就用万用表量一下。
3. 系统烧录:这一步错了后面全白搭
3.1 镜像从哪来、选哪个版本
Jetson Nano 的官方系统镜像叫 JetPack,本质上是一个定制版的 Ubuntu 加上 NVIDIA 的驱动、CUDA、cuDNN、TensorRT 等组件。下载地址在 NVIDIA 开发者官网,需要注册账号才能下。镜像文件通常 5-6GB,下载要有耐心。
版本选择上,我建议直接用官方推荐的最新稳定版。老版本虽然有些教程多,但驱动和库的兼容性不如新版。需要注意的是,4GB 版本和 2GB 版本的镜像不完全通用,下载时看清楚自己的板子型号。
3.2 烧录工具与操作步骤
烧录镜像用 balenaEtcher 就行,跨平台、免费、界面简单。步骤如下:
- 把 microSD 卡插进读卡器,连到电脑上
- 打开 balenaEtcher,选择下载好的镜像文件
- 选择目标 SD 卡(千万确认选对盘符,选错会格式化你的硬盘)
- 点击 Flash,等待进度条走完
- 烧录完成后 Etcher 会自动校验,校验通过就可以拔卡了
整个过程大概 10-20 分钟,取决于你的读卡器速度和 SD 卡质量。烧录完之后,Windows 可能会弹出"需要格式化"的提示,千万别点格式化,那是 Linux 分区 Windows 认不出来而已,直接关掉就行。
3.3 首次开机的配置流程
把烧录好的 SD 卡插进 Nano,接好显示器、键盘、鼠标、网线,最后插电源。第一次开机大概需要 1-2 分钟,屏幕会先黑一会儿再出画面,别以为坏了。
开机后会进入 Ubuntu 的初始设置向导:
- 选择语言和键盘布局
- 连接 WiFi(如果没插网线)
- 设置用户名和密码
- 选择时区
- 调整分区大小(这一步很重要,默认只用了 SD 卡的一部分空间,要选扩展)
设置完成后系统会重启一次,然后进入桌面。到这里,你的 Jetson Nano 就算正式跑起来了。
实操心得:首次开机如果卡在 NVIDIA logo 不动超过 3 分钟,大概率是 SD 卡速度太慢或者烧录有问题。换张卡重新烧一次,别硬等。
4. 上手配置:让板子真正能用起来
4.1 系统更新与换源
刚装好的系统软件源是国外的,更新速度感人。第一件事就是换国内源。编辑/etc/apt/sources.list,把里面的ports.ubuntu.com替换成国内镜像地址。具体用哪个源这里不展开,网上教程很多,注意 Nano 是 arm64 架构,别抄成 x86 的源了。
换完源之后执行:
sudo apt update sudo apt upgrade -y这个过程可能要半小时到一小时,取决于网络和更新量。建议插着网线跑,别用 WiFi,中途断了会很麻烦。
4.2 检查 CUDA 和 TensorRT 是否正常
JetPack 镜像自带 CUDA 和 TensorRT,但需要确认一下环境变量有没有配好。打开终端执行:
nvcc -V如果输出了 CUDA 版本信息,说明 CUDA 正常。如果提示 command not found,需要手动把 CUDA 路径加到环境变量里:
export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH把这两行加到~/.bashrc末尾,然后source ~/.bashrc生效。
TensorRT 的检查稍微复杂一点,可以用 Python 导入测试:
import tensorrt as trt print(trt.__version__)能打印出版本号就说明没问题。
4.3 设置风扇自动调速
如果你接了 PWM 风扇,可以写一个简单的脚本根据温度自动调速。思路是读取/sys/devices/virtual/thermal/thermal_zone0/temp的温度值,然后写入/sys/devices/pwm-fan/target_pwm控制转速。
我一般设三档:温度低于 40 度停转或低速,40-60 度中速,60 度以上全速。这样既安静又能压住温度。脚本可以加到 crontab 里每分钟跑一次,或者写个 systemd 服务常驻。
注意:不同批次的 Nano,PWM 控制节点的路径可能略有差异,先用
ls /sys/devices/找一下 pwm-fan 的实际位置。
4.4 远程访问配置
板子配好之后,每次都接显示器键鼠太麻烦,建议开 SSH 和 VNC。SSH 默认就开着,知道 IP 就能连。VNC 需要手动装:
sudo apt install vino -y然后在系统设置里打开屏幕共享,设置密码。之后用 VNC 客户端连 IP 就能看到桌面了。不过 VNC 传输的是画面,带宽占用比 SSH 大,网络不好的时候会卡。
我的习惯是:日常操作走 SSH,需要看图形界面的时候才开 VNC。这样效率最高。
5. 实际能跑什么:场景与性能预期
5.1 适合跑的任务类型
Jetson Nano 的 GPU 算力大概在 472 GFLOPS 左右(FP16),这个水平放在今天不算强,但做边缘推理够用。我实际跑过的任务包括:
- 图像分类:ResNet-18、MobileNet 这类轻量模型,单张推理几十毫秒
- 目标检测:YOLOv3-tiny、SSD-MobileNet,能跑到 10-20 FPS
- 人脸识别:配合摄像头做实时检测,流畅度可以接受
- 姿态估计:轻量模型能跑,但帧率不高
关键是要用 TensorRT 做加速,直接跑原版 PyTorch 模型会慢很多。TensorRT 会把模型做量化、层融合、kernel 自动调优,速度能提升好几倍。
5.2 不适合做的事情
有些任务别指望 Nano:
- 训练模型:显存只有 4GB(共享内存),训练基本跑不动,训练还是老老实实上服务器或者台式机
- 大语言模型:现在动辄几十亿参数的模型,Nano 连加载都困难
- 高分辨率视频实时处理:1080p 以上多路视频流处理会力不从心
- 当主力开发机:编译大型项目、跑 IDE 都会很卡
我见过有人想用 Nano 做家庭服务器跑各种服务,结果发现 CPU 性能太弱,还不如买个二手迷你主机。Nano 的强项是 GPU 推理,别把它当通用服务器用。
5.3 性能优化的一些实操技巧
想让 Nano 跑得更快,有几个立竿见影的手段:
第一,开启最大性能模式。默认情况下 Nano 是 5W 功耗模式,可以切换到 10W 模式:
sudo nvpmodel -m 0 sudo jetson_clocks第一条命令切到最大性能模式,第二条把 CPU 和 GPU 频率锁在最高。代价是功耗和发热上升,散热必须跟上。
第二,用 TensorRT 转换模型。以 ONNX 模型为例,可以用trtexec工具转换:
/usr/src/tensorrt/bin/trtexec --onnx=model.onnx --saveEngine=model.trt --fp16--fp16开启半精度,速度能再快一截,精度损失通常可以接受。
第三,减少内存拷贝。推理流程里尽量让数据留在 GPU 显存里,别频繁在 CPU 和 GPU 之间倒腾。用 CUDA 的 pinned memory 也能提升传输效率。
6. 常见问题与排查实录
6.1 开机类问题
问题一:插电后没有任何反应,风扇也不转。
先检查电源。用万用表量一下 DC 头输出电压是不是 5V,电流够不够。如果电源没问题,看看板子上的电源指示灯亮不亮。不亮的话可能是电源接口虚焊或者板子本身有问题,这种情况只能联系售后。
问题二:开机卡在 NVIDIA logo。
大概率是 SD 卡的问题。要么是烧录不完整,要么是卡本身质量差。换张卡重新烧录试试。如果换了卡还是卡住,检查一下是不是镜像版本和板子型号不匹配。
问题三:开机后花屏或者分辨率不对。
换根 HDMI 线试试,有些劣质线材会导致信号不稳定。另外确认显示器支持的分辨率,Nano 默认输出可能是 1080p,老显示器不一定支持。
6.2 运行类问题
问题一:跑着跑着突然重启。
九成是供电不足。检查是不是在用 micro USB 供电,或者 DC 电源电流不够。特别是插了多个 USB 设备的时候,瞬间电流需求会很大。
问题二:温度过高降频。
加风扇,或者改善散热条件。也可以在软件层面限制功耗模式,牺牲一点性能换稳定性。我一般会在脚本里监控温度,超过 75 度就自动降频。
问题三:CUDA out of memory。
Nano 的显存是和系统内存共享的,总共 4GB。跑大模型或者 batch size 设太大就会爆。解决办法是减小 batch size、用更小的模型,或者调整显存分配策略。
6.3 网络与外设类问题
问题一:WiFi 连不上或者频繁掉线。
Nano 对某些 USB WiFi 模块兼容性不好。建议用官方推荐的模块,或者直接插网线。如果必须用 WiFi,可以试试换一个 USB 口,或者加个带供电的 USB Hub。
问题二:USB 摄像头识别不到。
先ls /dev/video*看看有没有设备节点。没有的话可能是驱动问题,换个摄像头试试。有节点但打不开,可能是权限问题,把当前用户加到 video 组里。
问题三:SSH 连不上。
确认板子和电脑在同一个网段,用ping测试连通性。如果 ping 不通,检查防火墙和路由器设置。能 ping 通但 SSH 连不上,检查 SSH 服务有没有启动:sudo systemctl status ssh。
6.4 问题速查表
| 现象 | 最可能原因 | 快速验证方法 | 解决方向 |
|---|---|---|---|
| 上电无反应 | 电源问题 | 量电压、看指示灯 | 换电源 |
| 卡在 logo | SD 卡问题 | 换卡重烧 | 换高速卡 |
| 随机重启 | 供电不足 | 换 DC 供电 | 上 5V4A |
| 高温降频 | 散热不足 | 摸散热片温度 | 加风扇 |
| 显存不足 | 模型太大 | 看内存占用 | 减 batch |
| WiFi 掉线 | 模块兼容 | 换网线测试 | 换模块 |
| 摄像头打不开 | 权限/驱动 | ls /dev/video* | 加用户组 |
7. 一些掏心窝子的使用建议
7.1 关于买不买的判断
如果你只是想学 Linux、跑跑 Python 脚本,那树莓派或者二手迷你主机更合适,便宜且省心。如果你明确要做边缘 AI 推理、想学 CUDA 和 TensorRT,那 Nano 是个不错的入门平台,生态成熟、资料多。
但要注意,Nano 是 2019 年的产品了,现在市面上有性能更强的替代品。买之前想清楚你的需求,别为了"玩 AI"这个模糊的理由冲动消费。我见过太多人买回来跑了个 Hello World 就吃灰了。
7.2 关于学习路径
拿到板子之后,建议按这个顺序推进:
- 先把系统跑通,熟悉 Ubuntu 基本操作
- 跑通官方自带的 demo,比如
jetson-inference项目 - 学着自己转换一个模型,用 TensorRT 加速
- 接上摄像头,做一个完整的推理应用
- 尝试优化性能,理解瓶颈在哪
每一步都会遇到问题,解决问题的过程就是学习的过程。别指望一上来就能做出惊艳的项目,先把基础打牢。
7.3 关于社区资源
NVIDIA 官方的开发者论坛质量很高,很多问题上面都有答案。GitHub 上的jetson-inference和jetson-utils两个仓库值得仔细看,里面有很多现成的工具和示例。另外国内的 CSDN、知乎上也有不少实战帖,但质量参差不齐,注意甄别。
我个人习惯是遇到问题先搜官方论坛,再看 GitHub issue,最后才看博客。官方论坛的答案通常最准确,博客有时候会过时或者有错误。
7.4 最后分享一个小技巧
如果你经常需要重新烧录系统,可以做一个"黄金镜像":把配置好的系统用dd命令备份成镜像文件,下次直接烧这个备份,省去重复配置的时间。具体做法是在另一台 Linux 机器上,把 SD 卡插上,用dd if=/dev/sdX of=backup.img bs=4M备份。恢复的时候反过来操作就行。
这个技巧帮我省了大量时间,尤其是需要批量部署多块板子的时候。不过要注意,备份的镜像和原始 SD 卡容量相关,恢复到不同容量的卡上可能需要调整分区。
板子这东西,说到底就是个工具。工具的价值在于你用它能做出什么,而不是它本身有多厉害。Jetson Nano 可能不是最强的,但它足够让你入门边缘 AI 这个领域。把时间花在动手实践上,比纠结参数有意义得多。