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

You can install mactop via Homebrew! https://brew.sh

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

--interval or -i : Set the powermetrics update interval in milliseconds. Default is 1000. (For low-end M chips, you may want to increase this value)

or : Set the powermetrics update interval in milliseconds. Default is 1000. (For low-end M chips, you may want to increase this value) --color or -c : Set the UI color. Default is white. Options are 'green', 'red', 'blue', 'cyan', 'magenta', 'yellow', and 'white'. (-c green)

or : Set the UI color. Default is white. Options are 'green', 'red', 'blue', 'cyan', 'magenta', 'yellow', and 'white'. (-c green) --version or -v : Print the version of mactop.

or : Print the version of mactop. --help or -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.

: Quit the application. r : Refresh the UI data manually.

: 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

M2

M2 Pro

M3

M3 Pro

M3 Max

(If you have a confirmed working M series chip that is not listed, please open an issue, so we may add it here!)

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 information

: For CPU model information system_profiler : For GPU Core Count

: For GPU Core Count psutil : For memory and swap metrics

: For memory and swap metrics powermetrics : 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.

Acknowledgements