dsh-gpu-monitor-nvml: DeepSeek Harness 多 GPU 实时监控

前言

在使用 DeepSeek Harness (DSH) 进行智能体开发或运行时,如果系统配备了多张 NVIDIA 显卡,单纯依赖命令行的 nvidia-smi 或外部监控工具,无法在 Web UI 中直观地查看资源占用。这可能导致资源分配不均或无法及时发现异常。dsh-gpu-monitor-nvml 插件旨在解决这一问题,它将多 GPU 的实时监控面板直接集成到 DSH 的 Web 界面侧边栏中。

这是什么

这是一个由 janpauldahlke 维护的插件,专为 DeepSeek Harness 的 Web UI 设计。它的核心价值是在 Web 界面中提供实时的多 GPU 监控,帮助开发者在不离开浏览器的情况下掌握 GPU 的利用率、显存和功耗情况。

核心功能

  • 实时监控面板:在 DSH Web UI 的右侧边栏新增一个监控 Tab,展示所有 GPU 的状态。
  • 高频采样:以 1 Hz (每秒 1 次) 的频率轮询数据,不进行本地存储,保持数据的实时性。
  • 可视化图表:每张 GPU 卡提供 2 分钟的走势图(Sparklines),展示利用率、显存和功耗。
  • 详细指标:包含 GPU 利用率、显存利用率、显存占用(已用/总量/空闲)、功耗、核心频率、显存频率以及关联进程信息。
  • 交互与反馈:每一行指标都有 Tooltip 提示数据来源和含义;当数值超过 95% 时,进度条变红(琥珀色);若数据采集失败,会显示错误备注。
  • 数据源切换:支持 Linux 优先 NVML,回退到 nvidia-smi;Windows 优先 nvidia-smi,回退到 NVML。
  • API 接口:提供 /api/dsh-gpu-monitor 接口,导出 JSON 格式的快照。

安装与启用

插件安装在本地 dsh web 配置文件中。

  1. 通过 npm 安装:
    dsh plugin --profile web add dsh-gpu-monitor-nvml
  1. 或者从 GitHub 安装:
    dsh plugin --profile web add github:janpauldahlke/dsh-gpu-monitor-nvml
  1. 安装完成后,重启 dsh web 并在浏览器中强制刷新,即可在右侧边栏看到 GPU 监控面板。

验证配置

安装后,可以通过以下命令验证插件是否正确加载:

dsh --profile web --dump-config | grep -E 'gpu-monitor|dsh-gpu-monitor-nvml'

并通过 API 验证数据返回:

curl -s http://127.0.0.1:3080/api/dsh-gpu-monitor | head

适用场景与注意

  • 硬件要求:仅支持 NVIDIA GPU 及其驱动。AMD 和 Intel GPU 不支持。macOS(现代机型)仅支持 Stub,无实际监控功能。
  • 平台差异:
    • Linux:优先使用 NVML,若不可用则使用 nvidia-smi,并标记 smi 徽章。
    • Windows:当前优先使用 nvidia-smi,若检测到绑定则使用 NVML。
  • 数据语义:NVML 计算的“已用显存”为 总量 - 空闲,包含驱动预留部分,这与 nvidia-smi 的“已用显存”数值不同,但可通过 Tooltip 理解其含义。
  • 诚实性:数据为 1Hz 采样且无存储策略,过时的数据会被标记为 Stale,不会通过平滑处理掩盖延迟。

结语

该插件通过轻量级的方式,将 GPU 监控能力注入 DSH 生态。对于需要管理多 GPU 资源的开发者来说,它提供了一种直观且实时的管理手段。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜