{"id":13486179,"url":"https://github.com/context-labs/mactop","last_synced_at":"2025-05-14T01:02:47.828Z","repository":{"id":234616302,"uuid":"789247155","full_name":"context-labs/mactop","owner":"context-labs","description":"mactop - Apple Silicon Monitor Top written in pure Golang! Under 1,000 lines of code.","archived":false,"fork":false,"pushed_at":"2024-08-31T22:47:12.000Z","size":5371,"stargazers_count":1439,"open_issues_count":2,"forks_count":31,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-29T15:40:27.902Z","etag":null,"topics":["apple","apple-silicon","arm64","asitop","cpu-monitoring","go","golang","gpu-monitoring","macos","monitoring","terminal","termui","top"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/context-labs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-20T03:00:58.000Z","updated_at":"2024-10-29T15:15:11.000Z","dependencies_parsed_at":"2024-05-20T00:30:00.068Z","dependency_job_id":"0b24591b-26c3-4321-932e-bd6399c5cf4c","html_url":"https://github.com/context-labs/mactop","commit_stats":null,"previous_names":["context-labs/goasitop","context-labs/mactop"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-labs%2Fmactop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-labs%2Fmactop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-labs%2Fmactop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/context-labs%2Fmactop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/context-labs","download_url":"https://codeload.github.com/context-labs/mactop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248368914,"owners_count":21092478,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple","apple-silicon","arm64","asitop","cpu-monitoring","go","golang","gpu-monitoring","macos","monitoring","terminal","termui","top"],"created_at":"2024-07-31T18:00:40.887Z","updated_at":"2025-04-11T09:39:23.851Z","avatar_url":"https://github.com/context-labs.png","language":"Go","readme":"# mactop\n\n![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/context-labs/mactop/total) ![GitHub Release](https://img.shields.io/github/v/release/context-labs/mactop)\n\n`mactop` is a terminal-based monitoring tool \"top\" designed to display real-time metrics for Apple Silicon chips written by Carsen Klock. 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!\n\n![mactop](screenshotm.png)\n\n## Compatibility\n\n- Apple Silicon Only (ARM64)\n- macOS Monterey 12.3+\n\n## Features\n\n- Apple Silicon Monitor Top written in Go Lang and CGO\n- Real-time CPU and GPU power wattage usage display.\n- Detailed native metrics for CPU cores (E and P cores) (Apple's Mach Kernel API)\n- Memory usage and swap information.\n- Network usage information\n- Disk Activity Read/Write\n- Easy-to-read terminal UI\n- Two layouts: default and alternative\n- Customizable UI color (green, red, blue, cyan, magenta, yellow, and white)\n- Customizable update interval (default is 1000ms)\n- Processes list (sorted by CPU usage)\n- Disk Storage (Used, Total, Available)\n- Party Mode (Randomly cycles through colors)\n- Optional Prometheus Metrics server (default is disabled)\n- Support for all Apple Silicon models.\n\n## Install via Homebrew\n\nYou can install [mactop](https://github.com/context-labs/mactop) via Homebrew! https://brew.sh\n\n```bash\nbrew install mactop\n```\n\n```bash\nsudo mactop\n```\n\n## Updating via Homebrew\n\n```bash\nbrew update\n```\n\n```bash\nbrew upgrade mactop\n```\n\n## Installation\n\nTo install `mactop`, follow these steps:\n\n1. Ensure you have Go installed on your machine. If not, you can install it by following the instructions here: [Go Installation Guide](https://go.dev/doc/install).\n\n2. Clone the repository:\n   ```bash\n   git clone https://github.com/context-labs/mactop.git\n   cd mactop\n   ```\n\n3. Build the application:\n   ```bash\n   go build\n   ```\n\n4. Run the application:\n   ```bash\n   sudo ./mactop\n   ```\n\n## Usage\n\nAfter installation, you can start `mactop` by simply running:\n```bash\nsudo ./mactop\n```\n\n`sudo` is required to run `mactop`\n\nExample with flags\n```bash\nsudo mactop --interval 1000 --color green\n```\n\n## mactop Flags\n\n- `--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)\n- `--color` or `-c`: Set the UI color. Default is white. \nOptions are 'green', 'red', 'blue', 'cyan', 'magenta', 'yellow', and 'white'. (-c green)\n- `--prometheus` or `-p`: Set and enable the local Prometheus metrics server on the given port. Default is disabled. (e.g. -p 2112 to enable Prometheus metrics on port 2112)\n- `--version` or `-v`: Print the version of mactop.\n- `--help` or `-h`: Show a help message about these flags and how to run mactop.\n\n## mactop Commands\nUse the following keys to interact with the application while its running:\n- `q`: Quit the application.\n- `r`: Refresh the UI data manually.\n- `c`: Cycle through the color themes.\n- `p`: Party Mode (Randomly cycles through colors)\n- `l`: Toggle the main display's layout.\n- `h`: Toggle the help menu.\n\n## Example Theme (Green) Screenshot (sudo mactop -c green) on Advanced layout (Hit \"l\" key to toggle)\n\n![mactop theme](screenshota.png)\n\n## Confirmed tested working M series chips\n\n- M1\n- M1 Pro\n- M1 Max\n- M1 Ultra\n- M2\n- M2 Pro\n- M2 Max\n- M2 Ultra\n- M3\n- M3 Pro\n- M3 Max\n- M4\n- M4 Pro\n- M4 Max\n\n(If you have a confirmed working M series chip that is not listed, please open an issue, so we may add it here!)\n\n## Contributing\n\nContributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.\n\n1. Fork mactop\n2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)\n3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)\n4. Push to the Branch (`git push origin feature/AmazingFeature`)\n5. Open a Pull Request\n\n## What does mactop use to get real-time data?\n\n- `sysctl`: For CPU model information\n- `system_profiler`: For GPU Core Count\n- `psutil`: For memory and swap metrics\n- `powermetrics`: For majority of GPU, Network, and Disk metrics\n- `host_processor_info`: For CPU metrics (E and P cores) Apple Mach Kernel API in CGO\n\n## License\n\nDistributed under the MIT License. See `LICENSE` for more information.\n\n## Author and Contact\n\nCarsen Klock - [@carsenklock](https://twitter.com/carsenklock)\n\nProject Link: [https://github.com/context-labs/mactop](https://github.com/context-labs/mactop)\n\n## Disclaimer\n\nThis tool is not officially supported by Apple. It is provided as is, and may not work as expected. Use at your own risk.\n\n## Acknowledgements\n\n- [termui](https://github.com/gizak/termui) for the terminal UI framework.\n- [gopsutil](https://github.com/shirou/gopsutil) for system memory monitoring.\n- [asitop](https://github.com/tlkh/asitop) for the original inspiration!\n- [htop](https://github.com/htop-dev/htop) for the process list and CPU cores inspiration!\n","funding_links":[],"categories":["Go","HarmonyOS"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontext-labs%2Fmactop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcontext-labs%2Fmactop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcontext-labs%2Fmactop/lists"}