1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | jetson-memory-audit | GitHub API |
| 作者/维护者 | NVIDIA(Jetson Team),仓库归属 NVIDIA-AI-IOT | SKILL.md / skill-card.md |
| 来源链接 | https://github.com/NVIDIA-AI-IOT/jetson-device-skills/tree/main/skills/jetson-memory-audit | — |
| 许可证 | CC-BY-4.0(文档)+ Apache-2.0(代码),仓库整体双许可 | LICENSE / skill-card.md |
| GitHub Stars | 116(合集仓库整体,非本技能个体热度,见第 6 章说明) | GitHub API |
| Forks | 21 | GitHub API |
| 最新版本 | 0.0.1(SKILL.md version 字段) |
SKILL.md |
| 安装方式 | 克隆仓库后运行 ./install.sh,或手动复制目录 |
仓库 README |
2. 功能介绍与亮点
jetson-memory-audit 解决的是 Jetson 设备上一个常见但容易误判的问题:停掉一个 vLLM / SGLang / Ollama 之类的 CUDA 工作负载后,free -h 或 tegrastats 显示的可用内存往往并没有立刻涨回去,让人误以为内存泄漏或没有真正释放。
- 给出内存真相而非估算:技能强调只使用
scripts/audit.sh实测采集的 JSON 快照(含 DRAM 总量/可用量、NvMap 分配明细、Top 内存消耗进程),明确禁止用容器体积、模型大小或单次快照去“猜”释放了多少内存。 - 定位一个具体的老版本坑:文档专门指出,JetPack 7.2 以下 / L4T r39.0 以下版本,CUDA 上下文退出后释放的内存会被资源管理器暂时留在自己的池子里,
cudaMemGetInfo因此汇报偏低——并给出确切的排查命令(sudo sync && sudo sysctl -w vm.drop_caches=3),新版本上只在同样症状出现时才建议使用,而非默认执行。 - 配套“释放前后对比”验证脚本:
scripts/drop_caches.sh需要用户显式授权才会清理可回收缓存,执行前后都打印内存差值,避免“到底释放了多少”全靠猜测。 - 作为其他调优技能的度量基准:SKILL.md 明确写出与
jetson-headless-mode(关闭桌面/后台服务)、jetson-inference-mem-tune(推理引擎调参)的交接关系——先用本技能测基线,做完改动再测一次算出真实节省量。 - 有真实项目案例佐证:NVIDIA 官方技术博客记录了一个名为 Reachy Mini Jetson Assistant 的实际项目,把
jetson-memory-audit用于确定设备内存预算、支撑“按实测上限设计”的决策,最终帮助该项目把 Swap 占用控制在约 2GB。
3. 适用场景
所属分类:DevOps 与基础设施(设备资源配置与运维调优,见第 7 章判定说明)。
面向正在 Jetson 边缘设备上部署大模型推理服务、需要精确掌握内存占用与释放情况的开发者:停掉一个模型服务后内存“看起来”没释放是这类场景里的高频困惑,本技能把“到底释放了多少、是不是真的释放了”变成一次可核实的实测流程,尤其适合作为其他内存相关调优动作(切换无头模式、调整推理运行时参数)前后的度量基准。
4. 跨Agent兼容性
- Claude Code:原生支持。安装脚本提供
--targets claude;NVIDIA 内部评测明确用claude-codeagent 实测过该技能(8 项任务,安全维度 100% 通过)。 - Codex:原生支持。安装脚本提供
--targets codex;同一评测中codexagent 同样实测通过(安全维度 100%,较无技能基线提升 25 个百分点)。 - OpenClaw:原生支持。安装脚本提供
--targets nemoclaw;SKILL.md 额外写明 NemoClaw/OpenClaw 沙箱可能看不到宿主机/proc、tegrastats等数据时的应对方式(提示改在宿主机或可见宿主数据的沙箱配置下运行)。 - Hermes Agent:未验证。仓库 README 与安装脚本均未提及 Hermes Agent 适配,未找到相关说明。
5. 推荐理由
它把 Jetson 上“内存到底释放了没有”这个靠肉眼看 free -h 容易判断错的问题,变成一次有实测数据支撑的前后对比;专门写明了老版本 JetPack 上最容易踩的资源管理器缓存坑及其排查命令,且默认只读、清缓存动作需要用户显式授权才执行。由 NVIDIA 官方维护,发布前用真实 Claude Code / Codex agent 实测过安全性与执行正确性,且已有真实项目案例佐证其实际效果,适合正在做 Jetson 内存调优的边缘 AI 开发者。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | NVIDIA 是 Jetson 平台的所有者,属第一方出品;合集仓库整体 116 星为合集热度,不代表本技能个体数据;检索到 NVIDIA 官方技术博客记录的真实项目应用案例,但未找到独立第三方(非 NVIDIA 自身)的具名评价或讨论 |
| 可用性 | 8 | 一条安装脚本命令即可装入目标 Agent;文档含用途、前置条件、老版本坑点排查步骤与输出数据结构说明;该技能本身最近一次改动约在两个月前;核心快照功能依赖同仓库 jetson-diagnostic 的采集脚本,需两个技能配合才能构成完整闭环,并非单一技能独立完成全部流程 |
| 安全性 | 9 | 数据采集全程只读;清缓存动作明确要求用户显式授权才执行,且只释放内核本可回收的缓存页、执行前先 sync 保护未落盘数据;不联网外发数据、不经手凭据;License 清晰;官方安全评测两个 agent 均 100% 通过 |
| 综合 | 8.0 | 三项均值 |
安全检查清单:①有 shell 执行(sysctl/sync 等系统调用),但采集脚本本身只读,唯一有副作用的 drop_caches.sh 需要 root 或显式免密 sudo 授权且只做可回收缓存清理;②不联网外发数据;③不需要 API key/凭据(data-classification: public);④未发现可疑指令或混淆代码,文档反而明确写出“沙箱无宿主机数据时应如实告知、不得编造内存数值”的防幻觉要求;⑤作者为 NVIDIA 官方 Jetson 团队,仓库随附密码学签名文件;⑥License 明确(CC-BY-4.0 + Apache-2.0);⑦仓库整体最近一次更新为 4 天前,该技能本身最近一次改动为约两个月前。
7. 跟同类Skills相比的优势
| 工具 | 定位 | 与本技能的差异 |
|---|---|---|
jetson-headless-mode(同仓库) |
生成并执行“关闭桌面/后台服务”的可逆改动计划 | 是“动手改”的一方,需要消费本技能提供的内存快照作为决策依据;两者是采集与执行的分工关系 |
jetson-inference-mem-tune(同仓库) |
针对 vLLM/SGLang/llama.cpp 等推理引擎给运行时选型与启动参数建议 | 作用在推理进程配置层面,不直接测量或验证系统级内存占用;可与本技能配合,用实测数据验证调参效果 |
free -h / tegrastats 原生命令 |
Linux/Jetson 自带的内存监控工具 | 只给出瞬时读数,不解释老版本资源管理器缓存滞留的成因,也不提供“改动前后对比”的结构化验证流程;本技能是在这些原始数据之上加了一层针对 Jetson 平台已知坑点的判读逻辑 |
8. 用户评价
该技能目前在第三方平台尚无已验证的具名用户评价。NVIDIA 官方技术博客记录过一个使用该技能的真实项目案例(Reachy Mini Jetson Assistant,用于确定设备内存预算),但这属于官方案例记录,不构成独立第三方评价。
9. 其他补充
jetson-memory-audit 是 NVIDIA-AI-IOT/jetson-device-skills 家族(专注“运行中的 Jetson 设备”这一场景,覆盖诊断、内存审计、无头模式、LLM 服务与基准测试、视频编解码等共 14 个技能)之一,与专注刷机前 BSP 定制的姊妹仓库 jetson-bsp-skills 是两条不同产线。
10. 安装使用方式
推荐方式:
git clone https://github.com/NVIDIA-AI-IOT/jetson-device-skills.git
cd jetson-device-skills
./install.sh --targets claude
--targets 可换成 codex、cursor,或用逗号一次装多个(如 claude,codex);OpenClaw 用户改用 --targets nemoclaw --nemoclaw-sandbox <沙箱名> 直接装进运行中的沙箱。装完重启 Agent 会话使新技能生效。
手动方式: 复制仓库 skills/jetson-memory-audit/ 整个目录(含 SKILL.md 与 scripts/audit.sh、scripts/drop_caches.sh),放入对应 Agent 的技能目录,如 Claude Code 的 ~/.claude/skills/。
需要在 Jetson 宿主机上运行,或在能看到宿主机 /proc、/etc/nv_tegra_release、tegrastats 等数据的沙箱环境中运行;向 Agent 描述“这台 Jetson 现在内存占用多少/我停了服务内存有没有真的释放”即可触发。
11. 注意事项
- NvMap 明细读取可能需要 root 权限;无权限时技能会如实说明“GPU 内存归因有限”而非编造数字。
drop_caches.sh需要 root 或免密sudo,且只应在宿主机(非容器内)执行,容器内执行不会反映到宿主机的真实可用内存。- 完整的“改动前后内存差值”验证需要有改动前的基线快照;若已经做了改动却没有基线,本技能无法倒推出准确的释放量,只能从当前状态重新建立基线。
- 当前版本号 0.0.1,属早期版本;覆盖 Jetson Orin 系列与 Thor,不适用于非 Jetson 平台。