前言¶
在使用 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 配置文件中。
- 通過 npm 安裝:
dsh plugin --profile web add dsh-gpu-monitor-nvml
- 或者從 GitHub 安裝:
dsh plugin --profile web add github:janpauldahlke/dsh-gpu-monitor-nvml
- 安裝完成後,重啓
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。
- Linux:優先使用 NVML,若不可用則使用
- 數據語義:NVML 計算的“已用顯存”爲
總量 - 空閒,包含驅動預留部分,這與nvidia-smi的“已用顯存”數值不同,但可通過 Tooltip 理解其含義。 - 誠實性:數據爲 1Hz 採樣且無存儲策略,過時的數據會被標記爲 Stale,不會通過平滑處理掩蓋延遲。
結語¶
該插件通過輕量級的方式,將 GPU 監控能力注入 DSH 生態。對於需要管理多 GPU 資源的開發者來說,它提供了一種直觀且實時的管理手段。