# plottypus vs asitop

Canonical: https://plottypus.com/vs/asitop

Last updated: 2026-09-24

> asitop 0.0.24 and plottypus 1.0.0. powermetrics with sudo against sudoless IOReport and SMC reads, and what changed on Apple Silicon since asitop's last release.

**Verdict.** asitop was one of the first Apple Silicon power dashboards in the terminal, and its method has one real strength: every number comes from `powermetrics`, Apple's own sampler, so there is no reverse-engineering between you and the reading. Use it if you want exactly what `powermetrics` says, on a Mac and macOS version it was built for, and running it with sudo is fine. Its last release, 0.0.24, is from June 2023, and its README says it "only works on Apple Silicon Macs on macOS Monterey". Use plottypus if you want the same kind of dashboard without sudo, on current chips (M1 to M5, including Pro, Max and Ultra), with processes, battery, fans, disk and network in the same window.

## At a glance

Checked 2026-09-24 against asitop's README, PyPI page and repository. We did not run asitop for this page.

| | plottypus 1.0.0 | asitop 0.0.24 |
|---|---|---|
| Data source | IOReport, SMC, IOKit HID, Mach and `sysctl`, read in-process | `sudo powermetrics` text output, plus `psutil`, `sysctl` and `system_profiler` |
| CPU watts on macOS 27 | Yes. Live from SMC power rails on the M5 Pro; other chips get the last IOReport batch, marked `≈` with its age | Whatever `powermetrics` prints; not checked on macOS 27 |
| GPU MHz / °C | Yes / yes | MHz yes / no temperature listed |
| Per-cluster clocks | Super, Performance and Efficiency clusters with MHz | E and P clusters with frequency and utilization |
| Per-process energy / GPU | Watts per process; GPU share in the details card | No process list |
| Needs sudo | No | Yes |
| Self-cost | ~1.5% of one core at 500 ms, ~1.0% at 1 s (our measurement) | Not measured (a Python process plus a root `powermetrics`) |
| Works over ssh / in tmux | Yes | Yes |
| Process actions | TERM, KILL, INT, STOP/CONT, any signal, renice, background QoS | n/a |
| JSON output | `--json`, `--json-stream` | No |
| Themes | 10 built-in plus one built from your terminal's palette | `--color 0` to `8` |
| Platforms | macOS on Apple Silicon, M1 to M5 | Apple Silicon; the README says "only works on Apple Silicon Macs on macOS Monterey" |
| Price / licence | Free download, proprietary EULA; a paid Pro tier is planned, not on sale | Free, MIT |

Sources: [asitop README](https://github.com/tlkh/asitop#readme), [asitop on PyPI](https://pypi.org/project/asitop/) (0.0.24, uploaded 2023-06-17; last commit to the repository April 2024).

## sudo

asitop runs `powermetrics`, which needs root, so asitop does too (`sudo asitop`). That is a Python program and a sampler running as root for as long as the dashboard is open.

plottypus needs no sudo for any reading. CPU and GPU clocks and energy come from IOReport; temperatures, fans and system power from the SMC; process data from `proc_pid_rusage` and `proc_pidinfo`. The one thing root would add is detail for other users' processes, which macOS does not share with a normal user. plottypus shows `—` in those cells instead of a 0. Run `sudo plottypus` if you want them; nothing else changes.

## Chips since 2023

asitop hardcodes a few figures it cannot read (CPU and GPU TDP, maximum memory bandwidth, ANE maximum power, per its README), and it knows E and P clusters. The M5 Pro changed that: on our Mac17,8 the 18 cores are 6 Super and 12 Performance, with no Efficiency cores at all.

plottypus labels each cluster by kind, so the M5 Pro shows as it is (output compacted):

```sh
plottypus --json | jq '.soc, .cpu.clusters'
```

```json
{"name": "Apple M5 Pro", "e_cores": 0, "p_cores": 12, "s_cores": 6, "gpu_cores": 20, "memory_bytes": 25769803776}
[
  {"kind": "performance", "cores": 12, "usage": 1.0, "scaled": 1.0,   "freq_mhz": 4380},
  {"kind": "super",       "cores": 6,  "usage": 1.0, "scaled": 0.948, "freq_mhz": 4368}
]
```

## Beyond the power dashboard

asitop is one screen: CPU and GPU utilization and frequency, ANE, memory, and power charts with peak and rolling averages. plottypus covers the same ground (ANE watts appear when its counters publish) and adds a process table with per-process watts and signals, a battery panel, fans, heat by cluster, disk and network. `plottypus --diagnose` sums it up in one line (`All normal`, `Busy: rustc using 9.1 cores`, `Hot: fans at 80%`).

## Switching from asitop

| asitop | plottypus |
|---|---|
| `sudo asitop` | `plottypus` |
| `--interval 1` (seconds) | `-i 1s`, or `interval_ms = 1000` in the config |
| `--color 5` | `--theme <name>`; `T` cycles themes in the app |
| `--avg 30` (averaging window) | no rolling average; `z` zooms the time axis of every graph |

To keep a compact, asitop-like window, start on the Glance surface and the silicon preset:

```sh
plottypus --surface glance     # then press 1 for the silicon preset
```
