Process Monitor Dashboard
by @derick001
Monitor system processes, resource usage, and performance metrics with real-time terminal dashboard.
clawhub install process-monitor-dashboardπ About This Skill
name: process-monitor-dashboard description: Monitor system processes, resource usage, and performance metrics with real-time terminal dashboard. version: 1.0.0 author: skill-factory metadata: openclaw: requires: bins: - python3 libs: - python3-psutil
Process Monitor Dashboard
What This Does
A real-time terminal dashboard for monitoring system processes and resource usage. Provides a live, updating view of CPU, memory, disk, network, and running processesβall within your terminal.
Key features:
How To Use
Start the dashboard:
./scripts/main.py dashboard
Monitor with custom interval (3 seconds):
./scripts/main.py dashboard --interval 3
Get a single snapshot (no continuous updates):
./scripts/main.py snapshot
List top N processes by CPU:
./scripts/main.py top --by cpu --limit 10
List top N processes by memory:
./scripts/main.py top --by memory --limit 10
Monitor a specific process by PID:
./scripts/main.py monitor --pid 1234
Full command reference:
./scripts/main.py help
Commands
dashboard: Start interactive realβtime dashboard--interval: Refresh interval in seconds (default: 2)
- --simple: Simplified view (no perβcore/disk details)
- --log: Also write metrics to a log file
snapshot: Print a oneβtime system snapshot--json: Output as JSON for scripting
top: Show top processes--by: Sort by cpu, memory, disk, name (default: cpu)
- --limit: Number of processes to show (default: 10)
- --user: Filter by username
- --json: Output as JSON
monitor: Monitor a specific process--pid: Process ID to monitor (required)
- --interval: Refresh interval (default: 2)
- --watch: Watch for process creation/termination
stats: Show systemβwide statistics--cpu: CPU details only
- --memory: Memory details only
- --disk: Disk details only
- --network: Network details only
- --json: Output as JSON
alert: Check for resource alerts--threshold-cpu: CPU alert threshold % (default: 90)
- --threshold-memory: Memory alert threshold % (default: 85)
- --threshold-disk: Disk alert threshold % (default: 90)Output Examples
Dashboard view (sample):
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
System Monitor | Refresh: 2s | 2026β03β16 10:30:00 UTC
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
CPU: ββββββββββ 72% Memory: ββββββββββ 92% (8.2/12 GB)
Core 0: 65% Core 1: 78% Core 2: 70% Core 3: 75%Top Processes (by CPU):
PID USER CPU% MEM% COMMAND
1234 alice 45.2 12.3 python3 /app/server.py
5678 bob 22.1 5.8 /usr/bin/node index.js
9101 root 10.5 0.3 systemd-journal
Disk: / βββββββββ 52% free Network: β² 1.2 MB/s βΌ 4.5 MB/s
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
JSON snapshot (via --json):
{
"timestamp": "2026-03-16T10:30:00Z",
"cpu": {
"total_percent": 72.5,
"per_core": [65.2, 78.1, 70.3, 75.0],
"load_average": [1.2, 1.5, 1.8]
},
"memory": {
"total_gb": 12.0,
"used_gb": 8.2,
"percent": 68.3,
"swap_used_gb": 0.5
},
"processes": [
{"pid": 1234, "name": "python3", "cpu_percent": 45.2, "memory_percent": 12.3}
]
}
Installation Notes
Requires Python 3.6+ and psutil library. Install with:
pip install psutil
On most systems, psutil is available via package managers:
# Debian/Ubuntu
sudo apt install python3-psutilRHEL/CentOS
sudo yum install python3-psutilmacOS
brew install psutil
Limitations
Security Considerations
ps/top)Examples
Basic dashboard (2βsecond updates):
./scripts/main.py dashboard
Lightweight dashboard (simple view, 3βsecond updates):
./scripts/main.py dashboard --simple --interval 3
Get a JSON snapshot for scripting:
./scripts/main.py snapshot --json > system.json
Find top 5 memoryβhungry processes:
./scripts/main.py top --by memory --limit 5
Monitor a specific web server:
./scripts/main.py monitor --pid $(pgrep -f "nginx") --interval 5
Check for resource alerts:
./scripts/main.py alert --threshold-cpu 95 --threshold-memory 90
π‘ Examples
Basic dashboard (2βsecond updates):
./scripts/main.py dashboard
Lightweight dashboard (simple view, 3βsecond updates):
./scripts/main.py dashboard --simple --interval 3
Get a JSON snapshot for scripting:
./scripts/main.py snapshot --json > system.json
Find top 5 memoryβhungry processes:
./scripts/main.py top --by memory --limit 5
Monitor a specific web server:
./scripts/main.py monitor --pid $(pgrep -f "nginx") --interval 5
Check for resource alerts:
./scripts/main.py alert --threshold-cpu 95 --threshold-memory 90