A real-time system resource monitor with a terminal-based dashboard, written in Go.
- CPU Usage: Real-time CPU utilization percentage
- CPU Temperature: Cross-platform CPU temperature monitoring
- macOS: Uses IORegistry for reliable temperature reading on Apple Silicon and Intel Macs
- Linux: Uses lm-sensors via gopsutil for temperature monitoring
- Other platforms: Generic sensor support via gopsutil
- Memory Usage: RAM utilization and detailed memory statistics
- Disk Usage: Storage utilization and I/O metrics
- Network Activity: Real-time network traffic monitoring
- Battery Status: Battery percentage and charging state (laptops)
- GPU Information: GPU utilization and temperature (when available)
- System Uptime: Days, hours, and minutes since boot
go install github.com/krisfur/go-resource-monitor@latest
or from source:
# Clone the repository
git clone https://github.com/krisfur/go-resource-monitor.git
cd go-resource-monitor
# Install dependencies
go mod tidy
# Build the application
go build -o go-resource-monitor
# Run the monitor
./go-resource-monitor
go-resource-monitor
- Temperature monitoring uses multiple fallback methods for maximum compatibility
- Works on both Intel and Apple Silicon Macs
- No external dependencies required for basic temperature reading
- Temperature monitoring requires lm-sensors
- Install sensors:
sudo apt-get install lm-sensors
(Ubuntu/Debian) - Configure sensors:
sudo sensors-detect
- gopsutil - System and process utilities
- battery - Battery information
- go-m1cpu - Apple Silicon detection
- tview - Terminal UI framework
MIT License