前言¶
在 DeepSeek Harness 的开发或运维流程中,实时检查 GPU 资源状态是高频操作。传统做法是手动 SSH 登录每台服务器执行 nvidia-smi,这种方式效率低下且难以集中管理。dsh-remote-gpu-monitoring 插件将这一过程集成到 DSH Web 界面中,提供一个侧边栏面板,展示所有通过 SSH 可达的 GPU 服务器状态。
是什么¶
这是一个为 DeepSeek Harness Web 提供的远程多服务器 GPU 状态监控插件。它通过 SSH 读取每台主机的只读 nvidia-smi 信息,利用 ControlMaster 连接复用和主机端缓存机制,在浏览器中呈现统一的监控视图。
核心能力¶
- 统一视图,覆盖所有服务器:为每台主机执行固定的只读查询,显示 GPU 型号、显存使用、利用率、温度和功耗。
- 零配置:启动时自动解析
~/.ssh/config,发现所有具体的 Host 别名(忽略Host *模式)。 - 按需选择:在侧边栏设置中取消勾选的服务器会从面板消失,并立即停止对该服务器的数据收集。
- 安全设计:仅 Host 进程负责打开 SSH 连接,使用
BatchMode=yes和公钥认证,不向远程端传递用户输入,且不存储任何私钥。 - 低成本设计:复用
ControlMastersocket,支持主机端共享缓存,刷新间隔低。 - Agent 工具:提供
gpu_overview(查看缓存快照)和gpu_refresh(立即刷新)两个工具。
安装与启用¶
使用官方安装命令将插件添加到 Web Profile:
dsh plugin --profile web add github:sshhhll002/dsh-remote-gpu-monitoring
安装后,重启 dsh --profile web 并刷新 Web 页面,侧边栏会出现「Remote GPU」入口及相应的监控面板和工具。
使用说明¶
- 发现主机:插件启动时会读取
~/.ssh/config,列出所有具体的 Host 别名。 - 配置选择:点击侧边栏面板上的齿轮图标,勾选需要监控的服务器。未选中的服务器不会出现在面板中,也不会被收集数据。
- 更新配置:修改
~/.ssh/config添加新主机后,必须重启 dsh 才能发现新的别名。 - 使用工具:在 Agent 工具栏中,使用
gpu_overview查看缓存快照(零 SSH 开销),或使用gpu_refresh触发立即收集。
注意事项¶
- 前置条件:确保每台 GPU 服务器已安装
nvidia-smi,且系统 SSH 客户端支持无密码公钥认证(即ssh <alias>命令无需交互输入密码)。 - 主机检测:如果某台服务器未安装
nvidia-smi,插件会将其检测为无 GPU 并隐藏,但会定期重新探测。 - 权限与安全:该插件仅读取
~/.ssh/config,不存储或传输任何私钥。所有 SSH 连接均由 dsh 的 Host 进程发起。
结语¶
该插件适合需要集中监控多节点 GPU 资源的使用者。通过 SSH 连接复用和缓存机制,它将原本分散的 nvidia-smi 检查转化为高效的集中面板。更多细节请参考插件目录与源码仓库。