system-watchdog について
system-watchdogは、macOSのリソース使用状況を調べ、疑わしいプロセスや無駄なプロセスを検出するBashスクリプトです。単独で実行でき、JSON出力をエージェントや監視ワークフローで利用できます。
主な機能
- 01メモリ、スワップ、負荷、コア数、ディスクを確認
- 02高負荷や長時間稼働のプロセスを検出
- 03しきい値超過をJSONで出力
- 04bash check.shで単独実行
活用シーン
- 01macOSのリソース使用状況を確認
- 02長時間稼働または高負荷のプロセスを特定
- 03エージェントや監視システムに確認結果を渡す
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tychohq/ agent-skills --skill system-watchdogインストール後、Claude Code で/system-watchdogを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
check.shopenclaw-cron.jsonOPENCLAW.md詳細
システムウォッチドッグ
システムリソースを監視し、無駄または疑わしいプロセスにフラグを立てます。Bash スクリプトとして単独で動作します。スケジュールされた cron の設定については openclaw.md をご覧ください。
単独での使用
チェック用スクリプトを直接実行します。OpenClaw は不要です。
bash check.sh
JSON オブジェクトを標準出力に出力します。jq に渡したり、エージェントに渡したり、独自の監視スタックに統合したりするなど、お好みの方法で解析できます。
出力形式
{
"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→ 少なくとも 1 つの問題がしきい値を超えていますsuspicious: false→ システムは正常な状態です
しきい値
| チェック | しきい値 | 問題の種類 |
|---|---|---|
| プロセスの RAM | > 4096 MB | high_ram |
| プロセスの CPU | > 50% | high_cpu |
| 古いプロセス | 2 日以上実行中、かつ 100 MB 超または CPU 1% 超を使用 | stale |
| ディスク使用量 | ルートマウントで > 80% | disk |
よくある原因
claude/codex— 数日間、実行したままになっている AI コーディングエージェントwhisper/whisper-server— GPU/RAM を消費する音声テキスト変換サーバーpython/python3— 暴走したスクリプトや解放されていないプロセスnode— 停止しない開発サーバーやビルド
エージェントのワークフロー(AI エージェント向け)
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 形式の解析エラーが断続的に発生 — プロセススキャンの競合状態により、スクリプトは初回実行時に失敗することがあります。失敗を報告する前に、1 回再試行してください。
コメント
Markdown 対応