给 DGX Spark 写了个零依赖实时监控面板:1 个 Python 文件 + 1 个 HTML 文件深度 10实用 4
给 DGX Spark 写了个零依赖实时监控面板:1 个 Python 文件 + 1 个 HTML 文件 起因:在 DGX Spark 上跑大模型时,想随时看清 CPU / GPU / 统一内存 / 磁盘 / 网络 / 推理吞吐的真实状态, 以及推理引擎(推理服务)到底跑得怎么样。官方 Dashboard 看不了推理细节, nvtop / btop 又看不到 LLM 侧的指标,索性自己写了一个。 约束:零第三方依赖 ——后端只用 Python 标准库,前端单文件 HTML + 原生 JS,不引任何 CDN。 拷过去 python3 monitor.py 就能跑。 [整体效果] 目录 它有什么 架构 值得抄的 6 个实现细节 部署 踩坑清单 文件清单 已知限制 它有什么 17 个面板,全部可拖动、可缩放、可换位置 ,布局存在浏览器本地,导出一段 JSON 就能在别的机器上复现。 顶部 9 张 KPI 卡带迷你走势线;中间 6 张曲线图支持鼠标悬停出十字线和数值气泡,Y 轴单位会在 B/s → KB/s → MB/s 之间自动切换。 [LLM 运维区] 上排是 推理引擎 (running/waiting、解码速度、TTFT、TPOT、KV Cache 分池占用、MTP 接受率)、 容器 llm (CPU / 内存 / net / block IO)、 一键测速 (发一次真实对话,按 usage 计数算吞吐)。 下排是硬件明细: CPU 每核负载 (20 核 GB10)、 温度传感器 / 风扇 (带过热状态染色)、 磁盘 I/O 、 网络接口 (含错误/丢包计数)。 [硬件表格区] 再往下是 进程 Top 、 引擎指标明细表 、 当前生效配置 (直接读容器里的环境变量,一眼看到 TF_SOLO_ROWS / TF_SPILL_GIB 这些实际生效的参数)、 容器日志尾部 。 [进程 / 引擎指标 / 生效配置] 交互细节 鼠标悬停在曲线上,十字线定位到具体时刻,气泡给出该时刻的各序列数值: [悬停交互] 拖卡片标题栏换位置,拖右下角的小三角改大小。布局可以导出成 JSON:…