A lightweight, fast, and dependency-free Linux system health monitoring tool written in Go. The tool provides a clean, boxed CLI view of essential system metrics for quick diagnostics.
linux-health is designed to give a concise yet meaningful snapshot of a Linux system's current health.
It avoids heavy dependencies, background daemons, or graphical interfaces, making it suitable for servers, virtual machines, and SSH environments.
- CPU usage
- Memory usage
- Disk usage
- Load average
- System uptime
- Detects the top memory-consuming process
- Displays process name, PID, and memory usage
- Identifies the largest directories (disk hotspots) inside the user home directory
- Detects failed or inactive systemd services
- Displays a healthy message when no issues are found
- Determines whether any non-loopback network interface is active
- Clean, boxed terminal output
- Designed for readability and consistency across terminals
linux-health/
├── cmd/
│ └── linux-health/
│ └── main.go
│
├── internal/
│ ├── system/
│ ├── process/
│ ├── disk/
│ ├── service/
│ └── network/
│
├── pkg/
│ └── output/
│ └── block.go
│
├── go.mod
└── README.md
- Linux operating system
- Go 1.20 or newer
- systemd (for service health checks)
Clone the repository:
git clone https://github.com/ravindran-dev/linux-health.git
cd linux-healthBuild the binary:
go build -o linux-health ./cmd/linux-healthRun directly using Go:
go run ./cmd/linux-healthOr run the compiled binary:
./linux-health┌──────────────────────────────────────┐
│ LINUX SYSTEM HEALTH │
├──────────────────────────────────────┤
│ SCORE : 100 / 100 [ GOOD ] │
│ UPTIME : 0h 7m │
├──────────────────────────────────────┤
│ CPU : 3.8 % [ OK ] │
│ MEMORY : 13.8 % [ OK ] │
│ DISK : 77.9 % [ OK ] │
│ LOAD : 0.74 [ OK ] │
├──────────────────────────────────────┤
│ TOP MEM : gnome-shell │
│ PID 2381 269 MB │
├──────────────────────────────────────┤
│ HOTSPOTS: │
│ /home/user/Downloads 12.4G │
├──────────────────────────────────────┤
│ SERVICES: │
│ No failed services │
├──────────────────────────────────────┤
│ NETWORK : active │
└──────────────────────────────────────┘
- Minimal dependencies
- Predictable and stable output
- Suitable for automation and scripting
- Clear separation between data collection and presentation
- Optional colorized output
- Watch mode for periodic refresh
- Export output as JSON
- Threshold-based alerts
MIT License
Developer • ML Enthusiast • Neovim Customizer • Linux Power User
Hi! I'm Ravindran S, an engineering student passionate about:
- Linux & System Engineering
- AIML (Artificial Intelligence & Machine Learning)
- Full-stack Web Development
- Hackathon-grade project development
You can reach me here: