Skip to content

krisfur/go-resource-monitor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📈 Go Resource Monitor

A real-time system resource monitor with a terminal-based dashboard, written in Go.

screencast

Features

  • 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

Installation

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

Usage

go-resource-monitor

Platform-Specific Notes

macOS

  • 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

Linux

  • Temperature monitoring requires lm-sensors
  • Install sensors: sudo apt-get install lm-sensors (Ubuntu/Debian)
  • Configure sensors: sudo sensors-detect

Dependencies

License

MIT License

About

Basic resource monitor terminal dashboard written in GO with TUI.

Topics

Resources

Stars

Watchers

Forks

Languages