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
1# macOS
2brew install witr
3
4# Linux (Debian/Ubuntu)
5sudo apt install witr
6
7# Linux (Fedora)
8sudo dnf install witr
9
10# From source
11git clone https://github.com/witr/witr.git
12cd witr && cargo install --path .
Basic Usage
1# Start Witr
2witr
3
4# Show only CPU and memory
5witr --fields cpu,memory
6
7# Monitor specific process
8witr --filter python
9
10# Export to CSV
11witr --export output.csv --duration 60
12
13# Set alert threshold
14witr --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:
1{
2 "metrics": [
3 {
4 "name": "gpu_usage",
5 "command": "nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader",
6 "interval": 5
7 }
8 ]
9}
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:
1# witr_plugin.py
2import psutil
3
4def get_custom_metric():
5 return {
6 "name": "battery_level",
7 "value": psutil.sensors_battery().percent
8 }
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

Have questions or ideas? Feel free to leave a comment below. Sign in with GitHub to join the discussion.