跳到正文

AKS1st/dsh-sysmon

30最近提交 2026年8月15日

dsh-sysmon DSH 插件

dsh-sysmon 在 DSH Web 界面右下角添加一个固定悬浮窗,每秒刷新显示 CPU、内存和磁盘利用率。通过颜色阈值(浅灰、橙色、红色)提示负载水平,服务端缓存保证低开销。

如何安装 dsh-sysmon DSH 插件

dsh plugin --profile web add github:AKS1st/dsh-sysmon

复制不会执行命令。安装 dsh-sysmon DSH 插件前请核对仓库和版本。

dsh-sysmon DSH 插件数据来源

dsh-sysmon DSH 插件快照日期:2026年8月16日

discovered

dsh-sysmon DSH 插件能做什么

  • 显示 CPU 使用率(所有核心之和,可超过 100%)及核心数
  • 显示内存使用率,阈值 80% 变橙色、90% 变红色
  • 显示根文件系统磁盘使用率,阈值同上
  • 每 1 秒刷新一次,客户端带请求中守卫避免重叠
  • 使用 diff 方式只更新数值节点,减少重绘
  • 服务端缓存,API 响应亚毫秒级

dsh-sysmon DSH 插件适合哪些场景

  • 在 DSH Web 控制台中监控服务器资源使用
  • 不离开浏览器即可快速发现高 CPU 或内存负载
  • 感知根文件系统的磁盘空间压力
  • 观察短时间窗口(1 秒间隔)内的资源趋势
  • 在自托管 DSH 环境中集成实时健康检查

dsh-sysmon DSH 插件适合谁

  • 需要一目了然系统指标的 DSH Web 用户
  • 通过 DSH 管理服务器并希望轻量监控的开发者

dsh-sysmon DSH 插件的限制

  • 仅 Linux 平台——依赖 /proc/stat、/proc/meminfo 和 df
  • 只监控根文件系统(/)
  • CPU 使用率基于约 1 秒采样窗口计算,瞬时突发会被平均
  • 首次采样显示 0% CPU,直到第二次采样完成

dsh-sysmon DSH 插件的仓库 README 摘录

以下文字摘自 dsh-sysmon DSH 插件的上游仓库 AKS1st/dsh-sysmon 的 README,版权归原作者,仅作引用。

DSH Web 的系统状态悬浮窗:固定在页面右下角,每 1 秒刷新显示 CPU、内存、磁盘占用率。 ``` CPU 39%/16 MEM 46% DISK 22% ``` ## 显示规格 - **位置**:右下角固定悬浮,`pointer-events: none`,不遮挡界面操作。 - **配色**:默认浅灰色小字(等宽字体、11px)。 - **刷新**:1 秒一次。 ### 阈值规则 | 指标 | 默认(浅灰) | 橙色 | 红色 | | ---- | ----------- | ---- | ---- | | CPU(x%/y) | < 90%×核心数 | x ≥ 90%×核心数 | x ≥ 98%×核心数 | | 内存 | ≤ 80% | > 80% | > 90% | | 磁盘 | ≤ 80% | > 80% | > 90% | - **CPU**:`x%` 为所有核心使用率之和(可超过 100%),`y` 为总核心数;阈值按总容量比例计算。 - **内存 / 磁盘**:超过 80% 橙色、超过 90% 红色。 ## 安装 从 GitHub 仓库安装: ```sh dsh plugin --profile web add github:AKS1st/dsh-sysmon dsh web ``` 或 clone 到本地后从本地目录安装: ```sh git clone https://github.com/AKS1st/dsh-sysmon.git cd dsh-sysmon npm install npm run build dsh plugin --profile web add . dsh web ``` ## 工作方式 - **Host**(`src/index.ts`):`ctx.effect` 挂一个每秒运行的后台采样器,经 `ctx.shell` 采样(`/proc/stat`、`nproc`、`/proc/meminfo`、`df -P /`),把最新快照写入内存缓存。路由 `GET /dsh-sysmon/api` 只返回缓存(亚毫秒、零子进程开销),并拒绝非 GET 方法与跨源浏览器请求。CPU 使用率为相邻两次采样之间的增量(窗口约 1 秒),首次采样显示 0。 - **Client**(`src/client/index.ts`):创建 `#dsh-sysmon` 固定定位元素,每 1 秒 `fetch` 一次路由,带 in-flight 守卫避免请求重叠;重绘只更新三个数值节点(diff 式)。纯 DOM 实现、零运行时依赖。 ## 已知限制 - **仅 Linux**——宿主采集器读取 `/proc/stat`、`/proc/meminfo` 与 `df`;其他平台需要不同的采集

阅读完整 README仓库许可: BSD-3-Clause

dsh-sysmon DSH 插件常见问题

如何安装 dsh-sysmon?

运行 `dsh plugin --profile web add github:AKS1st/dsh-sysmon`,然后重启 DSH Web(`dsh web`)。你也可以克隆仓库到本地,构建后通过本地目录添加。

dsh-sysmon 能在 Windows 或 macOS 上运行吗?

不能。该插件读取 Linux 特有的文件(`/proc/stat`、`/proc/meminfo`、`df`)来采集指标,仅支持 Linux 宿主机。如需跨平台支持,需要自定义采集器。

可以修改刷新间隔或悬浮窗位置吗?

目前刷新间隔固定为 1 秒,位置固定在右下角,插件未提供配置项。如需修改,需要 fork 源码自行调整。

这个监控会影响 DSH Web 的性能吗?

影响极小。服务端 API 返回缓存数据,耗时亚毫秒;客户端使用单个固定元素和 diff 更新,fetch 请求有防重叠守卫。开销可忽略。

为什么刚开始 CPU 显示 0%?

CPU 使用率通过相邻两次采样(间隔约 1 秒)的差值计算。首次采样没有前一笔数据,所以显示 0%,直到第二次采样完成。