AKS1st/dsh-sysmon
DSH Web 系统状态悬浮窗:实时 CPU/内存/磁盘占用率 | System-status overlay showing live CPU, memory and disk usage for DSH Web
Listed
3
Ui
Bundle verified
Preview
What it does
System status floating widget: live CPU/memory/disk usage in the bottom-right corner of the DSH Web UI with threshold colour warnings.
Best for
- Linux-hosted DSH Web users who want an always-visible glance at CPU, memory, and root-disk usage.
- Operators who want simple threshold color warnings without opening a separate monitoring dashboard.
- Local troubleshooting where one-second system utilization updates are sufficient.
Not ideal for
- macOS or Windows hosts; the collector depends on Linux `/proc`, `nproc`, and `df`.
- Storage monitoring that must cover mounts other than the root filesystem `/`.
- Precise performance analysis or burst detection; CPU usage is averaged between samples roughly one second apart.
README
dsh-sysmon
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 仓库安装:
dsh plugin --profile web add github:AKS1st/dsh-sysmon
dsh web
或 clone 到本地后从本地目录安装:
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;其他平台需要不同的采集器。 -
仅根文件系统——磁盘占用只报告
/,按挂载点选择暂缓。 - 采样窗口近似——CPU 百分比是相邻两次采样(约 1 秒)间隔内忙时占比,窗口内瞬时突发被平均。
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:AKS1st/dsh-sysmon in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.