Witr: Process Monitor and System Resource Tool
Witr is a process monitor and system resource tool that shows real-time CPU, memory, disk, and network usage. Lightweight alternative to htop and top.
{</* resource-info */>}
The Problem: What Is Your CPU Actually Running? #
Your computer slows down, fans spin up, battery drains fast — but you do not know why:
- Which process is consuming 90% CPU?
- What app is leaking memory?
- Which service is hammering the disk?
- What is using all the network bandwidth?
Default system monitors are too basic. top and Task Manager show numbers but lack context.
What Is Witr? #
Witr is a modern process monitor and system resource tool that shows real-time CPU, memory, disk, and network usage in an intuitive, visual interface. It is a lightweight alternative to htop, top, and glances.
Key Features #
1. Real-Time Process Monitoring #
- CPU usage — Per-process and total system load
- Memory consumption — RSS, VSS, swap usage
- Disk I/O — Read/write rates per process
- Network traffic — Send/receive rates
- Process tree — Parent-child relationships
2. Resource Usage Alerts #
- CPU threshold — Alert when any process exceeds X%
- Memory limit — Warn when RAM usage is high
- Disk space — Notify when partitions fill up
- Network spike — Detect unusual traffic patterns
- Custom rules — Define your own alert conditions
3. Historical Data #
- Trend graphs — CPU and memory over time
- Peak detection — Find when resources spiked
- Baseline analysis — Understand normal usage patterns
- Export data — CSV or JSON for external analysis
- Log integration — Correlate with system logs
4. Intuitive Interface #
- Color coding — Green/yellow/red for usage levels
- Sortable columns — Click to sort by any metric
- Search and filter — Find processes by name or PID
- Keyboard shortcuts — Navigate without mouse
- Minimal CPU overhead — Less than 1% CPU usage
How to Use Witr #
Installation #
# macOS
brew install witr
# Linux (Debian/Ubuntu)
sudo apt install witr
# Linux (Fedora)
sudo dnf install witr
# From source
git clone https://github.com/witr/witr.git
cd witr && cargo install --path .
Basic Usage #
# Start Witr
witr
# Show only CPU and memory
witr --fields cpu,memory
# Monitor specific process
witr --filter python
# Export to CSV
witr --export output.csv --duration 60
# Set alert threshold
witr --alert-cpu 80 --alert-memory 90
Keyboard Shortcuts #
| Key | Action |
|---|---|
q | Quit |
Space | Pause/resume |
k | Kill selected process |
f | Filter processes |
s | Sort by column |
t | Toggle tree view |
h | Show help |
Comparison with Alternatives #
| Feature | Witr | htop | top | Glances |
|---|---|---|---|---|
| CPU Usage | Yes | Yes | Yes | Yes |
| Memory | Yes | Yes | Yes | Yes |
| Disk I/O | Yes | Yes | No | Yes |
| Network | Yes | No | No | Yes |
| Process Tree | Yes | Yes | No | No |
| Alerts | Built-in | No | No | Limited |
| History | Yes | No | No | Yes |
| Export | CSV/JSON | No | No | CSV |
| Web UI | No | No | No | Yes |
| CPU Overhead | <1% | <1% | <1% | 2-3% |
Use Cases #
Developers #
- Find runaway test processes
- Monitor build resource usage
- Debug memory leaks
- Optimize application performance
System Administrators #
- Monitor server health
- Detect resource hogs
- Plan capacity upgrades
- Troubleshoot performance issues
DevOps Engineers #
- Monitor container resource usage
- Set up alerting rules
- Analyze baseline performance
- Generate resource reports
Power Users #
- Understand system behavior
- Optimize battery life
- Find background processes
- Manage startup items
Advanced Features #
Custom Metrics #
Add your own metrics:
{
"metrics": [
{
"name": "gpu_usage",
"command": "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader",
"interval": 5
}
]
}
Integration #
- Prometheus — Export metrics for monitoring
- Grafana — Visualize in dashboards
- Slack — Send alerts to channels
- PagerDuty — Trigger incident response
- Webhooks — Custom notification endpoints
Plugin System #
Write plugins in any language:
# witr_plugin.py
import psutil
def get_custom_metric():
return {
"name": "battery_level",
"value": psutil.sensors_battery().percent
}
Performance #
Witr is designed for minimal overhead:
- Rust implementation — Zero-cost abstractions
- Async I/O — Non-blocking data collection
- Efficient rendering — Only redraw changed cells
- Low memory — Under 10MB RAM usage
- Fast startup — Sub-second initialization
Platform Support #
| Platform | Status | Notes |
|---|---|---|
| Linux | Full | All features supported |
| macOS | Full | All features supported |
| Windows | Partial | No process tree |
| FreeBSD | Beta | Community maintained |
Conclusion #
Witr is the modern process monitor for developers and system administrators.
- Real-time CPU, memory, disk, and network monitoring
- Built-in alerting and historical data
- Intuitive interface with minimal overhead
- Extensible with custom metrics and plugins
- Cross-platform support
If top and htop feel too basic, upgrade to Witr.
GitHub: github.com/witr/witr
License: MIT | Stars: 3K+ | Language: Rust