{"id":13467830,"url":"https://github.com/tlkh/asitop","last_synced_at":"2025-05-14T01:02:31.945Z","repository":{"id":37206400,"uuid":"421880637","full_name":"tlkh/asitop","owner":"tlkh","description":"Perf monitoring CLI tool for Apple Silicon","archived":false,"fork":false,"pushed_at":"2024-04-18T05:07:51.000Z","size":2432,"stargazers_count":3971,"open_issues_count":55,"forks_count":167,"subscribers_count":33,"default_branch":"main","last_synced_at":"2025-04-10T15:57:54.068Z","etag":null,"topics":["apple-silicon","cli","cpu","gpu","m1","macos"],"latest_commit_sha":null,"homepage":"https://tlkh.github.io/asitop/","language":"Python","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/tlkh.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":"2021-10-27T15:50:16.000Z","updated_at":"2025-04-10T13:40:51.000Z","dependencies_parsed_at":"2023-02-14T05:01:44.699Z","dependency_job_id":"3ca415eb-a3b6-443d-a7c0-108b8d269202","html_url":"https://github.com/tlkh/asitop","commit_stats":{"total_commits":45,"total_committers":8,"mean_commits":5.625,"dds":0.4,"last_synced_commit":"74ebe2cbc23d5b1eec874aebb1b9bacfe0e670cd"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlkh%2Fasitop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlkh%2Fasitop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlkh%2Fasitop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlkh%2Fasitop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlkh","download_url":"https://codeload.github.com/tlkh/asitop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253999463,"owners_count":21997265,"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-silicon","cli","cpu","gpu","m1","macos"],"created_at":"2024-07-31T15:01:01.074Z","updated_at":"2025-05-14T01:02:31.921Z","avatar_url":"https://github.com/tlkh.png","language":"Python","readme":"# asitop\n\n![PyPI - Downloads](https://img.shields.io/pypi/dm/asitop)\n\nPerformance monitoring CLI tool for Apple Silicon\n\n![](images/asitop.png)\n\n```shell\npip install asitop\n```\n\n## What is `asitop`\n\nA Python-based `nvtop`-inspired command line tool for Apple Silicon (aka M1) Macs.\n\n* Utilization info:\n  * CPU (E-cluster and P-cluster), GPU\n  * Frequency and utilization\n  * ANE utilization (measured by power)\n* Memory info:\n  * RAM and swap, size and usage\n  * (Apple removed memory bandwidth from `powermetrics`)\n* Power info:\n  * CPU power, GPU power (Apple removed package power from `powermetrics`)\n  * Chart for CPU/GPU power\n  * Peak power, rolling average display\n\n`asitop` uses the built-in [`powermetrics`](https://www.unix.com/man-page/osx/1/powermetrics/) utility on macOS, which allows access to a variety of hardware performance counters. Note that it requires `sudo` to run due to `powermetrics` needing root access to run. `asitop` is lightweight and has minimal performance impact.\n\n**`asitop` only works on Apple Silicon Macs on macOS Monterey!**\n\n## Installation and Usage\n\n`asitop` is a Python-based command line tool. You need `pip` to download and install `asitop`. macOS already comes with Python, to install `pip`, you can follow an [online guide](https://phoenixnap.com/kb/install-pip-mac). After you install `asitop` via `pip`, you can use it via the Terminal.\n\n```shell\n# to enter password before start\n# this mode is recommended!\nsudo asitop\n\n# it will prompt password on start\nasitop\n\n# advanced options\nasitop [-h] [--interval INTERVAL] [--color COLOR] [--avg AVG]\noptional arguments:\n  -h, --help           show this help message and exit\n  --interval INTERVAL  Display interval and sampling interval for powermetrics (seconds)\n  --color COLOR        Choose display color (0~8)\n  --avg AVG            Interval for averaged values (seconds)\n```\n\n## How it works\n\n`powermetrics` is used to measure the following:\n\n* CPU/GPU utilization via active residency\n* CPU/GPU frequency\n* Package/CPU/GPU/ANE energy consumption\n* CPU/GPU/Media Total memory bandwidth via the DCS (DRAM Command Scheduler)\n\n[`psutil`](https://github.com/giampaolo/psutil) is used to measure the following:\n\n* memory and swap usage\n\n[`sysctl`](https://developer.apple.com/library/archive/documentation/System/Conceptual/ManPages_iPhoneOS/man3/sysctl.3.html) is used to measure the following:\n\n* CPU name\n* CPU core counts\n\n[`system_profiler`](https://ss64.com/osx/system_profiler.html) is used to measure the following:\n\n* GPU core count\n\nSome information is guesstimate and hardcoded as there doesn't seem to be a official source for it on the system:\n\n* CPU/GPU TDP\n* CPU/GPU maximum memory bandwidth\n* ANE max power\n* Media engine max bandwidth\n\n## Why\n\nBecause I didn't find something like this online. Also, just curious about stuff.\n\n## Disclaimers\n\nI did this randomly don't blame me if it fried your new MacBook or something.\n","funding_links":[],"categories":["HarmonyOS","Python","By Language"],"sub_categories":["Windows Manager","Python"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlkh%2Fasitop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftlkh%2Fasitop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftlkh%2Fasitop/lists"}