Desktop CPU Monitor I threw together while trying to debug some issues with my computer. Have not been dedicating a lot of time to this lately since I'm not on a machine with Snap access anymore.
This application provides a real-time graphical representation of CPU utilization for each logical core. It displays the utilization percentage and frequency of each core with history going back 30 measurements.
The ultimate goal is to have something more akin to the performance tab in Windows Task Manager.
- Displays CPU core utilization and frequency in real-time
- Customizable update interval (default: every 2 seconds)
- Utilization graphs showing historical data
- Command-line flags for customization:
--columns: Number of columns in the grid layout (default: 4)--interval: Update interval (default: 2s)--history: Number of historical data points to keep (default: 30)--logical: Show logical cores vs physical cores (default: true)
- Improved error handling and logging
- Modular code structure for easier maintenance
Currently, this application is only available on x86 machines running linux. ARM64 is available via snap with the --edge flag but it's untested.
- Install the snap package with
sudo snap install tylercode-cycles- A "Release" build will be out once I've tested it on a few other machines.
- Coming in 0.5
- Download the latest .AppImage from the releases page.
- Run the AppImage
- Download the latest release on the github release page. Found here...
- Download the "cycles" file or the entire zip
- Make it executable if it isn't already
chmod +x cycles
- Run it! (double click or
./cycles)
- Go (Golang) installed on your system.
- Fyne library for UI development in Go.
gopsutillibrary for accessing system information.
To set up the project on your local machine:
- Clone the repository (I would make a fork and clone that to contribute):
git clone https://github.com/TylerCode/cycles
cd cycles- Install system dependencies (Ubuntu/Debian):
sudo apt-get install libgl1-mesa-dev libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev libglfw3-dev libxxf86vm-dev- Install Go dependencies:
go mod tidy- Build the application:
go build -o cycles- Run it:
./cycles- Run tests:
go test -v ./...Cycles supports several command-line flags for customization:
./cycles --columns 8 --interval 1s --history 60 --logical=falseContributions to this project will be welcome probably after 0.6!
Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature). - Make your changes.
- Commit your changes (
git commit -am 'Add some feature'). - Push to the branch (
git push origin feature/YourFeature). - Open a Pull Request.
MIT
- Fyne team for an incredible cross-platform ui kit.
- The
gopsutillibrary for system information access.

