System Watchdog

监控系统资源,检测浪费或可疑进程,并输出结构化JSON以供任意消费者使用。

安装

概览

什么是System Watchdog

System Watchdog 是一个专为 macOS 设计的轻量级系统监控工具,以 Bash 脚本形式独立运行,无需依赖外部框架。它能够实时检测系统中的资源使用情况,识别出可能浪费资源或存在异常行为的进程,并将结果以结构化的 JSON 格式输出到标准输出。该工具特别适合开发者、运维人员以及 AI 智能体使用,帮助快速发现长期运行的高负载进程,避免因疏忽导致系统性能下降或资源耗尽。

其核心设计理念是‘被动告警’——仅在检测到问题时生成报告,否则保持静默,从而减少不必要的干扰。通过定义明确的阈值机制,System Watchdog 可自动标记高内存占用(超过 4GB)、高 CPU 使用率(超过 50%)、长时间未活动但仍在运行的‘僵尸’进程,以及磁盘空间接近满载的情况。所有检测结果均以机器可读的方式呈现,便于集成进自定义监控系统、通知机器人或自动化工作流中。

尽管目前仅针对 macOS 平台优化,使用了 `sysctl`、`vm_stat` 和特定于 macOS 的 `ps` 命令,但该工具的架构清晰,逻辑透明,易于移植到其他 Unix-like 系统(如 Linux),只需替换相应的系统调用即可。此外,虽然首次运行时偶发解析错误,但重试一次通常可解决,不影响整体稳定性与可靠性。

核心功能特点

  1. 独立 Bash 脚本运行,无需额外依赖,开箱即用
  2. 输出标准化 JSON 格式,支持任意消费者解析与集成
  3. 自动识别高内存、高 CPU 及长期闲置可疑进程
  4. 内置磁盘使用率监控,防止存储溢出
  5. 静默模式设计,仅在有异常时触发告警
  6. 适用于 AI 智能体自动化监控与用户通知流程

适用场景

System Watchdog 最典型的应用场景是作为 AI 编程助手(如 Claude、Codex)的守护进程,防止这些智能体在完成任务后意外滞留后台,持续消耗大量 RAM 和 CPU 资源。例如,当某个 claude 实例连续运行超过三天且占用近 5GB 内存时,工具会立即标记为‘可疑’并建议终止进程,显著降低误操作风险。对于个人开发者而言,它也能有效监控本地开发环境中的 Python 脚本、Node.js 服务器或语音处理服务(如 whisper),避免因忘记关闭调试服务而导致系统卡顿。

在企业级环境中,该工具可被集成进 CI/CD 流水线或远程服务器巡检脚本中,定时执行并推送告警信息至 Slack、Telegram 或邮件系统,实现无人值守的系统健康检查。由于其输出完全基于 JSON,任何具备 HTTP 或消息队列能力的监控系统都能轻松接入。同时,结合 cron 任务实现每分钟或每小时轮询,可构建低成本但高效的本地资源管理平台。

此外,System Watchdog 也适合用于教学演示或技术分享场景,因其代码简洁、逻辑直观,适合作为讲解系统监控原理的实践案例。无论是排查突发性能瓶颈,还是预防长期累积的资源泄漏问题,它都提供了一种快速、可靠且可扩展的解决方案。