GoPerfWatch
GoPerfWatch is a CLI-based system monitoring utility written in Go for Linux systems. It displays real-time metrics of hardware such as CPU, GPU, and memory.
Features
- CPU Monitoring: Displays clock speed, temperature, and usage.
- GPU Monitoring: Tracks VRAM usage and temperature.
- Memory Monitoring: Shows memory usage in GB and / total on a usage bar.
- Real-time Updates: Data is refreshed at configurable intervals (must modify source code).
Dependencies
Before attempting install GoPerfWatch, ensure that the following packages are present on your system:
Golang
For Ubuntu
sudo apt-get install golang-go
For Fedora
sudo dnf install golang
For Arch
sudo pacman -Syu go
OR download the latest Linux release of Go from the official site
lm-sensors
For Ubuntu
sudo apt-get install lm-sensors
For Fedora
sudo dnf install lm_sensors
For Arch
sudo pacman -Syu lm_sensors
glxinfo
For Ubuntu
sudo apt-get install mesa-utils
For Fedora
sudo dnf install glx-utils
For Arch
sudo pacman -Syu mesa-utils
Installation
Clone the repo
git clone https://github.com/vibraniumdroid/goperfwatch.git
cd goperfwatch
Initialize the module and install termui
go mod init goperfwatch
go get github.com/gizak/termui/v3
go mod tidy
Build or run directly
go build
chmod u+x goperfwatch
./goperfwatch
OR
go run main.go
Usage
Running the programming begins live-monitoring. So long as dependencies are satisfied further configuration is not required. To exit GoPerfWatch's interface once launched, simply enter any mouse or keyboard input.
Users looking to modify polling intervals should adjust the polling interval variables found in main and the usage package.
To do
- Implement GPU clock monitoring
- Verify support for existing GPU features on Nvidia GPUs
- Implement power consumption monitoring on supported hardware
- Allow for arguments when executing to enable different display modes
- Quit program only upon receiving specific input (rather than any)
- Possibly phase out some use of lm-sensors where more universal implementations may be possible
License
GoPerfWatch is licensed under the MIT License. Refer to the LICENSE file for additional details.