pumas
A nvtop-inspired command line tool for Apple Silicon Macs: aka M1, M2, ... This is basically a reimplemented version of [asitop] in Rust.
| Type | Metrics | Available | Comments | | --- | --- | --- | --- | | Utilization | CPU Clusters, GPU, ANE | ✅ | History & current values. ANE util. is measured via power | | Power | CPU, GPU, ANE, total package | ✅ | History & current values | | Frequency | CPU Clusters, GPU | ✅ | Current avg. values | | Frequency | CPU Clusters, GPU | planned | Residency distrib. histograms | | Memory | RAM & swap: size and usage | planned | Apple removed memory bandwidth from powermetrics. |
Pumas uses the built-in 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. Pumas is lightweight and has
minimal performance impact.
Pumas only works on Apple Silicon Macs on macOS Monterey and later.
This is a work in progress.
sh
cargo install pumas
brew install graelo/tap/pumas
sh
sudo pumas run
```sh $ pumas --help A power usage monitor for Apple Silicon.
Usage: pumas
Commands: run Run the power usage monitor generate-completion Print a shell completion script to stdout help Print this message or the help of the given subcommand(s)
Options: -h, --help Print help -V, --version Print version ```
and
```sh $ pumas run --help Run the power usage monitor
Usage: pumas run [OPTIONS]
Options:
-i, --sample-rate
powermetrics
is used to measure the following:
powermetrics
(removed: incorrect on M2)
sysinfo
crate is used to measure the following:
sysctl
is used to measure the following:
system_profiler
is used to measure the following:
Some information is guesstimate and hardcoded as there doesn't seem to be a official source for it on the system:
Licensed under the [MIT License].
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the MIT license, shall be licensed as MIT, without any additional terms or conditions.