mactop
mactop copied to clipboard
mactop - Apple Silicon Monitor Top written in pure Golang! Under 1,000 lines of code.
mactop
mactop is a terminal-based monitoring tool "top" designed to display real-time metrics for Apple Silicon chips. It provides a simple and efficient way to monitor CPU and GPU usage, E-Cores and P-Cores, power consumption, and other system metrics directly from your terminal!

Compatibility
- Apple Silicon Only (ARM64)
- macOS Monterey 12.3+
Features
- Apple Silicon Monitor Top written in Go Lang (Under 1,000 lines of code)
- Real-time CPU and GPU power usage display.
- Detailed metrics for different CPU clusters (E-Cores and P-Cores).
- Memory usage and swap information.
- Network usage information
- Disk Activity Read/Write
- Easy-to-read terminal UI
- Two layouts: default and alternative
- Customizable UI color (green, red, blue, cyan, magenta, yellow, and white)
- Customizable update interval (default is 1000ms)
- Support for all Apple Silicon models.
Install via Homebrew
Help get us on the official Homebrew formulas by giving us a star and watching this repo! mactop
brew tap context-labs/mactop https://github.com/context-labs/mactop
brew install mactop
sudo mactop
Updating via Homebrew
brew update
brew upgrade mactop
Installation
To install mactop, follow these steps:
-
Ensure you have Go installed on your machine. If not, you can install it by following the instructions here: Go Installation Guide.
-
Clone the repository:
git clone https://github.com/context-labs/mactop.git cd mactop -
Build the application:
go build -
Run the application:
sudo ./mactop
Usage
After installation, you can start mactop by simply running:
sudo ./mactop
sudo is required to run mactop
Example with flags
sudo mactop --interval 1000 --color green
mactop Flags
--intervalor-i: Set the powermetrics update interval in milliseconds. Default is 1000. (For low-end M chips, you may want to increase this value)--coloror-c: Set the UI color. Default is white. Options are 'green', 'red', 'blue', 'cyan', 'magenta', 'yellow', and 'white'. (-c green)--versionor-v: Print the version of mactop.--helpor-h: Show a help message about these flags and how to run mactop.
mactop Commands
Use the following keys to interact with the application while its running:
q: Quit the application.r: Refresh the UI data manually.l: Toggle the current layout.
Example Theme (Green) Screenshot (sudo mactop -c green)

Confirmed tested working M series chips
- M1
- M1 Max
- M1 Ultra
(If you have a confirmed working M series chip that is not listed, please open an issue!)
Contributing
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork mactop
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
What does mactop use to get real-time data?
sysctl: For CPU model informationsystem_profiler: For GPU Core Countpsutil: For memory and swap metricspowermetrics: For majority of CPU, GPU, Network, and Disk metrics
License
Distributed under the MIT License. See LICENSE for more information.
Contact
Carsen Klock - @carsenklock
Project Link: https://github.com/context-labs/mactop
Disclaimer
This tool is not officially supported by Apple. It is provided as is, and may not work as expected. Use at your own risk.