Jetson 无头模式内存优化
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/jetson-headless-mode。
技能介绍
问题背景
在 Jetson 上跑推理或当边缘节点时,默认的 graphical.target 和 GDM/LightDM 等显示栈会占掉大量用户空间内存。粗暴关服务容易踩坑(例如误停 nvargus-daemon 或 nvpmodel),也不利于事后回滚。你需要的是:以当前设备审计为准,只动「安全、可逆」的用户空间旋钮,并且先出方案、再 dry-run、经批准后再改系统。
技能如何工作
本技能与 jetson-memory-audit 配套:从审计 JSON 出发,用 scripts/plan.sh 生成只含 safety: safe 条目的方案(例如 disable-graphical-target、停用显示管理器、PulseAudio、蓝牙、CUPS、snapd 等),每条带 estimated_savings_mb、command 与 reversible_command。展示方案并确认后,用 scripts/apply.sh --plan plan.json 默认 dry-run;加 --apply 才真正执行,可选 --drop-caches 或 --reboot。应用后再跑审计脚本对比前后差异。
方案 JSON 形状与 jetson-inference-mem-tune 的 recommend 输出一致;apply 只执行安全且带命令的项,并在 shell 里二次校验,不涉及 extlinux、设备树或内核命令行。
适用边界
- 适用:明确不需要本地桌面、X/Wayland 或自助终端 UI;审计里已是
graphical.target或显示管理器仍活跃。 - 不适用:仍要 GUI 或显示输出——只做只读审计,改走非 GUI 内存选项。
- 前提:必须先有当前 jetson-memory-audit 快照;系列、SKU、节省量以
detect_jetson.sh/ audit 为准,勿猜数字。 - 勿动:
nvargus-daemon、nvgetty、nvpmodel、正在用的 containerd/docker,以及 nvfb/nvdisplay 相关启动配置。变更需 sudo 与用户明确批准。
使用场景
- jetson-memory-audit 显示仍为 graphical.target,要把设备改成纯推理节点并先估算可释放内存
- 边缘 Jetson 无本地显示器,但 GDM/LightDM 仍在跑,需要生成可逆方案并在 dry-run 后再应用
- 用户确认不需要 X/Wayland 桌面,需按审计 JSON 批量停用显示栈与非必要守护进程
- 上线前做无头模式规划:只跑 plan.sh 汇报 estimated_total_savings_mb 与 recommendations,暂不改动系统
适合人员
- 在 Jetson 上部署 TensorRT/容器推理、希望把用户空间内存让给模型的边缘算法工程师
- 维护多台「无桌面」Jetson 节点,需标准化 plan/apply 流程并保留 reversible_command 的运维人员
- 已跑 jetson-memory-audit、发现显示管理器占用数百 MB 并准备切 multi-user.target 的集成开发者
- 把 Jetson 当机房内 SSH 可达边缘服务器用、明确拒绝本地 GUI 的项目负责人