关于 system-watchdog
system-watchdog 是用于检查资源使用情况并标记可疑或浪费资源进程的 macOS Bash 脚本。它以 JSON 输出结果,可独立运行,也可供 Agent 或监控流程解析。
主要功能
- 01检查内存、交换空间、负载、核心数和磁盘
- 02标记高资源占用及陈旧进程
- 03以 JSON 报告超阈值问题
- 04通过 bash check.sh 独立运行
适用场景
- 01检查 macOS 系统资源使用情况
- 02查找长期运行或高占用进程
- 03将检查结果接入 Agent 或监控系统
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tychohq/ agent-skills --skill system-watchdog安装后在 Claude Code 中输入/system-watchdog确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
check.shopenclaw-cron.jsonOPENCLAW.md详细介绍
System Watchdog
监控系统资源,并标记浪费资源或可疑的进程。可作为独立的 bash 脚本运行——定时 cron 设置请参阅 openclaw.md。
独立用法
直接运行检查脚本——无需 OpenClaw:
bash check.sh
向 stdout 输出一个 JSON 对象。你可以按自己的方式解析——通过管道传给 jq、交给 Agent 处理,或集成到自己的监控系统中。
输出格式
{
"suspicious": true,
"summary": {
"ram": "12.3/31.2 GB (39%)",
"swap": "0.5/8.0 GB (6%)",
"load": "1.2/0.8/0.6",
"cores": 8,
"disk": "120/256 GB (45%)"
},
"issues": [
{
"type": "high_ram",
"description": "claude (PID 1234) 4650MB RAM",
"details": { "pid": 1234, "name": "claude", "cpu_pct": 2.1, "mem_mb": 4650, "elapsed": "3d" }
}
],
"top_processes": [
{ "pid": 1234, "name": "claude", "cpu_pct": 2.1, "mem_mb": 4650, "elapsed": "3d" }
]
}
suspicious: true→ 至少有一项问题超出阈值suspicious: false→ 系统状态正常
阈值
| 检查项 | 阈值 | 问题类型 |
|---|---|---|
| 进程 RAM | > 4096 MB | high_ram |
| 进程 CPU | > 50% | high_cpu |
| 陈旧进程 | 运行时间 > 2 天,且使用 > 100 MB 或 > 1% CPU | stale |
| 磁盘使用率 | 根挂载点上 > 80% | disk |
常见问题进程
claude/codex— 连续运行数天的 AI 编码 Agentwhisper/whisper-server— 占用 GPU/RAM 的语音转文本服务python/python3— 失控的脚本或未释放的进程node— 尚未停止的开发服务或构建任务
Agent 工作流(适用于 AI Agent)
- 运行
check.sh - 解析 JSON 输出
- 如果
suspicious为false→ 不做任何操作(无需报告) - 如果
suspicious为true→ 整理一份简洁的报告并通知用户
建议的报告格式
⚠️ System Watchdog Report
📊 System: RAM 12.3/31.2 GB (39%) | Swap 0.5/8.0 GB (6%) | Load 1.2/0.8/0.6
💾 Disk: / 45% (120/256 GB)
🔴 Issues Found:
HIGH RAM — claude (PID 1234)
CPU: 2.1% | RAM: 4650 MB | Running: 3 days
→ Likely stale, safe to kill
💡 Suggested: kill 1234
平台说明
- 仅适用于 macOS —
check.sh使用sysctl、vm_stat和 macOS 的ps标志。在 Linux 上无法直接运行,需进行适配(替换为free、/proc/meminfo等)。 - 偶发 jq 风格的解析错误 — 由于进程扫描中的竞态,脚本偶尔会在首次运行时失败。报告失败前请重试一次。
评论
支持 Markdown