jetson-diagnostic
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseJetson Diagnostic
Jetson 诊断
A unified, agent-friendly view of a running Jetson device. Replaces the need to remember which of , , , , , , , , and produces which slice of the truth.
tegrastatsjtopprocrank/sys/kernel/debug/nvmapnvpmodelfreeswapondfsystemctl list-units为运行中的Jetson设备提供统一、便于Agent使用的视图。无需再记忆、、、、、、、以及这些命令分别能获取哪些系统信息。
tegrastatsjtopprocrank/sys/kernel/debug/nvmapnvpmodelfreeswapondfsystemctl list-unitsPurpose
用途
Capture a read-only health snapshot from the Jetson host so agents can answer device identity, memory, GPU, thermal, power, storage, and service-state questions using live data instead of guesses.
从Jetson主机捕获只读的健康快照,让Agent可以使用实时数据回答关于设备标识、内存、GPU、散热、电源、存储以及服务状态的问题,而非仅凭猜测。
When to use
使用场景
Activate when the user asks:
- "What is this Jetson? What SKU? How much memory?"
- "What's running on this Jetson right now?"
- "Why is my Jetson slow / hot / out of memory?"
- "Give me a snapshot of GPU / CPU / power usage."
- "What does my tegrastats output mean?"
- "Which services are running that I could turn off?"
- The user has installed ,
jetson-memory-audit,jetson-headless-mode,jetson-inference-mem-tune,jetson-llm-benchmark, orjetson-llm-serveand needs a baseline measurement before running them.jetson-package
Do not use this skill to change power modes, drop caches, stop services, install packages, serve models, or tune inference flags. Report the observed state, then hand off to the action-oriented skill.
当用户提出以下问题时激活此技能:
- "这是哪款Jetson?SKU是什么?内存有多大?"
- "当前Jetson上正在运行什么程序?"
- "为什么我的Jetson运行缓慢/发热/内存不足?"
- "给我一份GPU/CPU/电源使用情况的快照。"
- "我的tegrastats输出是什么意思?"
- "哪些正在运行的服务可以关闭?"
- 用户已安装、
jetson-memory-audit、jetson-headless-mode、jetson-inference-mem-tune、jetson-llm-benchmark或jetson-llm-serve,需要在运行前获取基准测量数据。jetson-package
请勿使用此技能修改电源模式、释放缓存、停止服务、安装包、部署模型或调整推理参数。仅报告观测到的状态,然后转交至面向操作的技能。
Prerequisites
前置条件
- Run on the Jetson host, or in a sandbox/container with host-visible Jetson system paths and process data.
- 在Jetson主机上运行,或在可访问主机Jetson系统路径和进程数据的沙箱/容器中运行。
Available Scripts
可用脚本
| Script | Purpose | Arguments |
|---|---|---|
| Emits the all-in-one JSON snapshot for identity, memory, GPU, thermal, power, disk, top processes, and candidate services. | |
| Emits a compact human-readable RAM/GPU/swap summary. | |
| Exports or prints canonical Jetson SKU/generation/product-line fields for this repo. | No arguments. |
If your agent runtime supports , use it to run or and summarize the returned output. Otherwise run the scripts with from the repository root.
run_scriptscripts/snapshot.shscripts/mem_summary.shbash| 脚本 | 用途 | 参数 |
|---|---|---|
| 输出包含设备标识、内存、GPU、散热、电源、磁盘、顶级进程以及候选服务的一体化JSON快照。 | |
| 输出简洁的人类可读RAM/GPU/交换空间摘要。 | |
| 导出或打印此仓库使用的标准Jetson SKU/世代/产品线字段。 | 无参数 |
如果你的Agent运行时支持,请使用它来运行或并总结返回的输出。否则,请从仓库根目录使用运行这些脚本。
run_scriptscripts/snapshot.shscripts/mem_summary.shbashInstructions
操作步骤
- Run for the all-in-one JSON view (preferred default).
scripts/snapshot.sh - For a quick human-readable memory line, run .
scripts/mem_summary.sh - To explain a single tegrastats line the user has pasted, see .
references/tegrastats-fields.md - To explain the NvMap clients output, see .
references/nvmap-clients.md
- 运行获取一体化JSON视图(推荐默认选项)。
scripts/snapshot.sh - 如需快速查看人类可读的内存信息,运行。
scripts/mem_summary.sh - 如需解释用户粘贴的单条tegrastats输出,请查看。
references/tegrastats-fields.md - 如需解释NvMap客户端输出,请查看。
references/nvmap-clients.md
Reporting guidance
报告指南
Run the matching helper script before summarizing device state, and report only fields returned by that script. If direct execution is blocked by the runtime, run it with rather than trying to chmod files.
bash {baseDir}/scripts/<script-name>- For "what is this Jetson" questions, quote or
product_model,sku,variant, andl4t_version.mem_total_gb - For "slow and hot" questions, run and summarize both sides of the symptom:
snapshot.shfor heat, plusthermal_c,top_processes,gpu_processes, ornvmap.top_clientsfor load. End with a concrete handoff such asgpu_source,jetson-memory-audit, orjetson-headless-mode.jetson-inference-mem-tune - For "which process is using memory" questions, run and name the leading process as
snapshot.sh,pid <number>, and itscmd/ MiB value. If NvMap GPU memory is the relevant signal, also quotepss_kband the topgpu_sourceornvmap.top_clientsentry.gpu_processes
If your agent runtime does not automatically execute helper scripts relative to this skill directory, resolve script paths with the AgentSkills placeholder:
{baseDir}bash
{baseDir}/scripts/snapshot.sh
{baseDir}/scripts/mem_summary.shDo not call as a tool name unless the runtime explicitly registers skills as callable tools; Agent Skills are normally instructions plus files, not direct tool functions.
jetson-diagnosticAll scripts source the canonical platform detector at (exports , , , , , , ). Other skills may source this detector rather than duplicating Jetson identification logic. Exits 2 with a remediation message off-platform.
skills/jetson-diagnostic/scripts/detect_jetson.shJETSON_SKUJETSON_GENERATIONJETSON_PRODUCT_LINEJETSON_VARIANTJETSON_MEM_GBJETSON_L4T_VERSIONJETSON_PRODUCT_MODEL在总结设备状态前运行匹配的辅助脚本,仅报告该脚本返回的字段。如果运行时阻止直接执行,请使用运行脚本,而非尝试修改文件权限。
bash {baseDir}/scripts/<script-name>- 对于“这是哪款Jetson”的问题,引用或
product_model、sku、variant和l4t_version字段。mem_total_gb - 对于“运行缓慢且发热”的问题,运行并总结症状的两个方面:
snapshot.sh(温度)以及thermal_c、top_processes、gpu_processes或nvmap.top_clients(负载)。最后给出具体的技能转交建议,如gpu_source、jetson-memory-audit或jetson-headless-mode。jetson-inference-mem-tune - 对于“哪个进程在占用内存”的问题,运行并列出领先进程的
snapshot.sh、pid <编号>及其cmd/MiB值。如果NvMap GPU内存是相关指标,还需引用pss_kb以及顶级gpu_source或nvmap.top_clients条目。gpu_processes
如果你的Agent运行时无法自动相对于此技能目录执行辅助脚本,请使用AgentSkills的占位符解析脚本路径:
{baseDir}bash
{baseDir}/scripts/snapshot.sh
{baseDir}/scripts/mem_summary.sh除非运行时明确将技能注册为可调用工具,否则请勿将作为工具名称调用;Agent Skills通常是说明文档加文件,而非直接的工具函数。
jetson-diagnostic所有脚本都会从加载标准平台检测器(导出、、、、、、)。其他技能可以加载此检测器,无需重复实现Jetson识别逻辑。在非Jetson平台上运行时会以状态码2退出并返回修复提示信息。
skills/jetson-diagnostic/scripts/detect_jetson.shJETSON_SKUJETSON_GENERATIONJETSON_PRODUCT_LINEJETSON_VARIANTJETSON_MEM_GBJETSON_L4T_VERSIONJETSON_PRODUCT_MODELLimitations
限制
- Seeing this skill file does not guarantee access to Jetson host hardware. If ,
/proc/device-tree/model,/etc/nv_tegra_release,tegrastats,nvpmodel, ornvidia-smiare missing inside a NemoClaw/OpenClaw sandbox, say the sandbox lacks Jetson host visibility and ask the user to run on the Jetson host or relaunch with a host-visible sandbox profile./sys/kernel/debug/nvmap - NvMap debugfs often requires root, so unprivileged runs may report or incomplete
gpu_source: "none"fields.nvmap - This skill reports observed state only. Do not fabricate memory, GPU, thermal, service, or reclamation data when a tool is missing or inaccessible.
- 拥有此技能文件并不保证能访问Jetson主机硬件。如果在NemoClaw/OpenClaw沙箱中缺少、
/proc/device-tree/model、/etc/nv_tegra_release、tegrastats、nvpmodel或nvidia-smi,请告知用户该沙箱无法访问Jetson主机,并建议用户在Jetson主机上运行,或使用支持主机可见性的沙箱配置重新启动。/sys/kernel/debug/nvmap - NvMap debugfs通常需要root权限,因此非特权运行可能会报告或不完整的
gpu_source: "none"字段。nvmap - 此技能仅报告观测到的状态。当工具缺失或无法访问时,请勿编造内存、GPU、散热、服务或回收数据。
Error handling
错误处理
- If a helper exits off-platform, report that the current environment is not a Jetson host or lacks host visibility; do not substitute generic Linux values.
- If ,
tegrastats,nvpmodel, or NvMap debugfs are unavailable, preserve the correspondingnvidia-smi,null, or empty fields from the JSON and explain which signal is limited.false - If emits malformed JSON, report the raw failure and rerun after fixing the helper output; do not hand-edit a synthetic device snapshot.
snapshot.sh
- 如果辅助脚本在非Jetson平台退出,请报告当前环境不是Jetson主机或无法访问主机;请勿替换为通用Linux值。
- 如果、
tegrastats、nvpmodel或NvMap debugfs不可用,请保留JSON中对应的nvidia-smi、null或空字段,并说明哪些指标受限。false - 如果输出格式错误的JSON,请报告原始失败信息,修复辅助脚本输出后重新运行;请勿手动编辑合成设备快照。
snapshot.sh
Output contract for snapshot.sh
snapshot.shsnapshot.sh
输出约定
snapshot.shjson
{
"sku": "orin-nano",
"generation": "orin",
"product_line": "orin-nano",
"variant": "orin-nano-8gb",
"mem_total_gb": 8,
"l4t_version": "36.4.0",
"product_model": "nvidia jetson orin nano developer kit",
"memory_kb": { "total": 8123456, "available": 4123456, "swap_total": 0, "swap_free": 0, "cached": 1234567 },
"tegrastats_sample": "RAM 4011/8138MB (lfb 8x4MB) ...",
"thermal_c": { "CPU": 52.3, "GPU": 49.0, "AO": 47.0 },
"power": { "nvpmodel_id": 0, "nvpmodel_name": "MAXN" },
"disk": [ { "mount": "/", "used_pct": 41 } ],
"gpu_source": "nvmap:iovmm-clients",
"gpu_devices": [],
"gpu_processes": [],
"nvmap": {
"readable": true,
"total_kb": 654321,
"stats_total_bytes": 669985280,
"top_clients": [ { "pid": 1234, "cmd": "vlm-server", "kb": 524288 } ]
},
"top_processes": [ { "pid": 4321, "cmd": "vllm", "pss_kb": 4000000 } ],
"candidate_services": { "gdm3": { "active": "inactive", "enabled": "disabled" } }
}gpu_source- — per-process
"nvidia-smi:compute-apps"values fromused_memory. Used on the unifiednvidia-smi --query-compute-appsstack (Thor family today). Note: on this stacknvidia.ko's device-levelnvidia-smiquery returnsmemory.usedon some BSPs, which is why the skill sums the per-process list rather than reading a top-level total. The summed total appears in[N/A].gpu_processes[*].used_mib - — per-process sizes from
"nvmap:iovmm-clients". Used on the/sys/kernel/debug/nvmap/iovmm/clientsstack (Orin family today), wherenvgpuis a stub that returnsnvidia-smifor every compute/memory query. Per-process entries appear in[N/A]; the kernel-side total is innvmap.top_clientsand (when readable)nvmap.total_kb.nvmap.stats_total_bytes - — no authoritative source reachable. Typical when running unprivileged on an
"none"-stack Jetson (debugfs undernvgpuneeds/sys/kernel/debug/nvmap); rerun withsudoto populate thesudofields.nvmap
The agent should present the salient parts back to the user (SKU, available memory, top GPU consumer per , hottest zone, power mode) and offer to drill into specifics (, / , ).
gpu_sourcetop_processesgpu_processesnvmapservicesjson
{
"sku": "orin-nano",
"generation": "orin",
"product_line": "orin-nano",
"variant": "orin-nano-8gb",
"mem_total_gb": 8,
"l4t_version": "36.4.0",
"product_model": "nvidia jetson orin nano developer kit",
"memory_kb": { "total": 8123456, "available": 4123456, "swap_total": 0, "swap_free": 0, "cached": 1234567 },
"tegrastats_sample": "RAM 4011/8138MB (lfb 8x4MB) ...",
"thermal_c": { "CPU": 52.3, "GPU": 49.0, "AO": 47.0 },
"power": { "nvpmodel_id": 0, "nvpmodel_name": "MAXN" },
"disk": [ { "mount": "/", "used_pct": 41 } ],
"gpu_source": "nvmap:iovmm-clients",
"gpu_devices": [],
"gpu_processes": [],
"nvmap": {
"readable": true,
"total_kb": 654321,
"stats_total_bytes": 669985280,
"top_clients": [ { "pid": 1234, "cmd": "vlm-server", "kb": 524288 } ]
},
"top_processes": [ { "pid": 4321, "cmd": "vllm", "pss_kb": 4000000 } ],
"candidate_services": { "gdm3": { "active": "inactive", "enabled": "disabled" } }
}gpu_source- — 来自
"nvidia-smi:compute-apps"的进程级nvidia-smi --query-compute-apps值。用于统一used_memory驱动栈(当前为Thor系列)。注意:在此驱动栈上,nvidia.ko的设备级nvidia-smi查询在部分BSP中会返回memory.used,因此技能会对进程级列表求和而非读取顶层总计。求和后的总计会显示在[N/A]中。gpu_processes[*].used_mib - — 来自
"nvmap:iovmm-clients"的进程级内存大小。用于/sys/kernel/debug/nvmap/iovmm/clients驱动栈(当前为Orin系列),此系列中nvgpu是存根程序,所有计算/内存查询都会返回nvidia-smi。进程级条目显示在[N/A]中;内核侧总计显示在nvmap.top_clients以及(当可读取时)nvmap.total_kb中。nvmap.stats_total_bytes - — 无法访问权威数据源。通常在
"none"驱动栈的Jetson上以非特权身份运行时出现(nvgpu下的debugfs需要/sys/kernel/debug/nvmap权限);请使用sudo重新运行以填充sudo字段。nvmap
Agent应向用户展示关键信息(SKU、可用内存、对应的顶级GPU占用进程、最热区域、电源模式),并提供深入查看详情的选项(、/、)。
gpu_sourcetop_processesgpu_processesnvmapservicesSafety
安全性
This skill is read-only. It does not change , does not run , does not modify services. To act on findings, hand off to:
nvpmodeljetson_clocks- — focused memory snapshot + drop_caches verify loop
jetson-memory-audit - — disable GUI + auxiliary daemons (safe, reversible)
jetson-headless-mode - — pick runtime + memory flags (vLLM / SGLang / llama.cpp / TensorRT Edge-LLM)
jetson-inference-mem-tune - — vLLM and related GHCR images with Jetson defaults
jetson-llm-serve - — reproducible latency / throughput benchmarks
jetson-llm-benchmark - — GHCR + Jetson AI Lab PyPI indexes vs generic ARM wheels
jetson-package
此技能为只读。它不会修改设置,不会运行,也不会修改服务配置。如需根据诊断结果执行操作,请转交至以下技能:
nvpmodeljetson_clocks- — 聚焦内存快照+释放缓存验证循环
jetson-memory-audit - — 禁用GUI+辅助守护进程(安全、可恢复)
jetson-headless-mode - — 选择运行时+内存参数(vLLM/SGLang/llama.cpp/TensorRT Edge-LLM)
jetson-inference-mem-tune - — 带有Jetson默认配置的vLLM及相关GHCR镜像
jetson-llm-serve - — 可复现的延迟/吞吐量基准测试
jetson-llm-benchmark - — GHCR+Jetson AI Lab PyPI索引 vs 通用ARM轮子包
jetson-package
Cross-platform behavior
跨平台行为
| Family | Variants the skill recognises | | | | NvMap debugfs |
|---|---|---|---|---|---|
| Jetson Thor | | yes | yes (full) | yes | yes (root) |
| Jetson AGX Orin | | yes | yes (stub, | yes | yes (root) |
| Jetson Orin NX | | yes | yes (stub, | yes | yes (root) |
| Jetson Orin Nano | | yes | yes (stub, | yes | yes (root) |
* On Jetsons whose GPU is driven by the in-tree kernel driver, the binary is present but most fields (, power, utilisation, compute-process table) report / . To decide which source to trust at runtime, the script does a capability probe — — and only uses for per-process GPU memory when that query returns a real integer. When it doesn't, the script falls back to , which on -stack Jetsons is the authoritative per-process GPU-memory source.
nvgpunvidia-smiMemory-UsageNot SupportedN/Anvidia-smi --query-gpu=memory.used --format=csv,noheader,nounitsnvidia-smi/sys/kernel/debug/nvmap/iovmm/clientsnvgpuThe script handles each tool's presence gracefully and reports / for tools it cannot reach (typical when the agent isn't running with the privilege needed for ). Variant detection uses the string first (recognising names like / ) and falls back to memory-size heuristics when the model string is generic.
nullfalse/sys/kernel/debug/proc/device-tree/modelT5000T4000| 系列 | 技能可识别的变体 | | | | NvMap debugfs |
|---|---|---|---|---|---|
| Jetson Thor | | 支持 | 支持(完整功能) | 支持 | 支持(需root) |
| Jetson AGX Orin | | 支持 | 支持(存根程序, | 支持 | 支持(需root) |
| Jetson Orin NX | | 支持 | 支持(存根程序, | 支持 | 支持(需root) |
| Jetson Orin Nano | | 支持 | 支持(存根程序, | 支持 | 支持(需root) |
* 在由内核态驱动GPU的Jetson设备上,二进制文件存在,但大多数字段(、电源、利用率、计算进程表)会报告/。为了在运行时确定信任哪个数据源,脚本会进行能力探测————只有当该查询返回真实整数时,才会使用统计进程级GPU内存。否则,脚本会回退到,这是驱动栈Jetson设备上权威的进程级GPU内存数据源。
nvgpunvidia-smiMemory-UsageNot SupportedN/Anvidia-smi --query-gpu=memory.used --format=csv,noheader,nounitsnvidia-smi/sys/kernel/debug/nvmap/iovmm/clientsnvgpu脚本会优雅地处理各工具的存在状态,对无法访问的工具报告/(通常在Agent没有足够权限访问时出现)。变体检测优先使用字符串(识别/等名称),当模型字符串通用时回退到内存大小启发式检测。
nullfalse/sys/kernel/debug/proc/device-tree/modelT5000T4000