Cell Brush
View on GitHub

Every watt,accounted for.

A sudoless system monitorfor Apple Silicon

Reads power, temperature and per-process watts straight from macOS. No sudo, no kexts, no daemons.

macOS knows exactly what every process costs in watts, how hot each corner of your chip runs, and how fast every core is clocked. It just hides all of it behind sudo powermetrics and paid apps. mxmon reads the lot, sudoless, in your terminal. But first, look at it:

Born from sudo powermetrics.

Why it exists

Apple Silicon measures itself constantly. Every power rail in watts, every DVFS clock, more than fifty temperature sensors across the die and the board, the exact energy each process burns. The instrumentation is extraordinary, and almost none of it reaches you.

macOS locks the good numbers behind a root-only tool called powermetrics, or hands them to paid apps and background daemons. So the data sits there, measured and ready, and nobody looks.

mxmon reads it straight from the same macOS frameworks (IOReport, the SMC, IOHID) with no sudo, no kexts, and nothing left running in the background. One binary, in your terminal.

Your Mac measures everything. It just won't show you.

The catch

Open Activity Monitor and you get CPU percentages and a memory bar. Useful, and about a tenth of what the chip actually knows about itself.

The watts, the per-core clocks, the thermal map, the per-process energy: all measured in hardware, all a permission prompt or a paywall away. The gap was never the data. It's the door.

Measuring

Per-rail watts, DVFS clocks, fifty-plus sensors and per-process energy, sampled constantly in silicon, whether you look or not.

Showing you

Activity Monitor hides the watts and the heat. The rest needs sudo powermetrics or a paid app. So almost nobody sees it.

mxmon is the missing tenth: it takes everything your Mac already measures and finally puts it on screen, sudoless.

Sample. Diff.
Redraw. Sip.

mxmon samples in tiers, fast things fast and slow things slow, and only repaints when a number actually changes. Leave it running all day; it barely registers.

01Fast

Every 250ms: per-core CPU, power draw and DVFS clocks, the numbers that move moment to moment.

02Power

Every 500ms: the energy rails and GPU, read from the SoC's own counters.

03Slow

Every second: temperatures, fans and disk, the things that drift, not spike.

04Procs

Every two seconds: the full process table, sorted, with per-process watts.

Sudoless by design.

No root required

All of it, without root. Every number mxmon shows is read straight from a public macOS framework, never from sudo, a kernel extension, or a background daemon. The four sources below are the whole supply chain.

Read the source
01IOReport

Apple's energy and DVFS counters: watts per rail, and the clock residency of every core.

02SMC

The System Management Controller: fans, adapter and system power, and per-chip temperature keys.

03IOKit

AGX GPU stats and the IOHID sensor services: the fifty-plus die and board thermistors.

04libproc

Per-process footprint, energy and cycle counts: the raw material for the PWR column.

A ladder of Mac monitors. mxmon is the top rung.

Where it sits

Everyone starts with Activity Monitor. Some graduate to htop or bottom for a real process table. Almost no one gets to the layer underneath: the watts, the clocks, the thermal map, all kept behind sudo.

mxmon lives on that top rung, and it is sudoless getting there. Here is the climb:

  • L1Activity Monitor. The GUI everyone has. CPU and memory, no watts, no clocks, no per-chip heat.
  • L3htop / bottom. A proper process table in the terminal, but blind to Apple Silicon's power and thermal hardware.
  • L5mxmon. Every rail in watts, every sensor, per-process energy and live connections. Sudoless.

It reads the exact same counters Activity Monitor does. It just shows you the ninety percent Apple left out.

One monitor, seventeen themes.

neon out of the box, and it remembers yours. Press t to cycle and every panel, graph and heat-map retints on the spot. Here are six of the seventeen.

Get it on GitHub

Apple Silicon only, MIT-licensed. Homebrew needs no toolchain; cargo and source builds want Rust 1.88+.

Homebrew · recommendedbrew install yusufmo1/tap/mxmon
Cargocargo install mxmon
From sourcegit clone https://github.com/yusufmo1/mxmon && cd mxmon
cargo build --release && ./target/release/mxmon

github.com/yusufmo1/mxmon · MIT © 2026 Yusuf · Apple Silicon only.