Skip to content

Releases: netsatsawat/mac-vitals

Mac Vitals 0.2.0

Choose a tag to compare

@netsatsawat netsatsawat released this 08 Sep 20:25

A better look at what your Mac is doing, especially while running local models. Still read as a normal user, with no password.

New

  • Top processes — what is using the machine right now, by CPU or memory, read through the same interface top uses. A panel in the full window, a vitals --top command, and a get_top_processes MCP tool so your agent can ask "what is eating my RAM." (Per-process GPU is not available to a normal user, so it is left out rather than guessed.)
  • Neural Engine (ANE) power, from the Energy Model.
  • Memory-fit signals: memory-pressure level, swap in use, and how much memory the GPU may use, the practical limit for fitting a local model.
  • Thermal throttling: the OS thermal state, shown as a throttling indicator, so you can see when a long run is being held back.
  • Task traces now report whether the run throttled and its peak swap, so a run that slowed down explains itself.
  • Launch at Login and a run-in-background toggle, both opt-in, and a project site at https://netsatsawat.github.io/mac-vitals.

Left out on purpose

DRAM memory bandwidth. The counters that carry it do not bind for a normal user, so reading it would need sudo. Mac Vitals will not, so bandwidth waits for a password-free path.

Install

git clone https://github.com/netsatsawat/mac-vitals.git
cd mac-vitals
./scripts/build-app.sh
open build/MacVitals.app

Mac Vitals 0.1.0

Choose a tag to compare

@netsatsawat netsatsawat released this 08 Sep 04:24

First public cut. A live CPU, GPU, memory, and power monitor for Apple Silicon that reads everything as a normal user, with no password, no dependencies, and no helper daemon. The same engine speaks MCP, so a coding agent can read the machine too.

Highlights

  • Four faces over one engine: a menu-bar readout, a popover, a floating widget, and a full window that charts every metric from one minute to a year, plus year-to-date.
  • CPU (overall, E and P clusters, per core), GPU, memory, per-rail power, network, disk, battery, temperature, and fan.
  • GPU utilization calibrated against powermetrics on the M5. GPU power in watts is exact.
  • Task traces that measure what a build or a run cost, in the app, the CLI, and over MCP.
  • History persisted across restarts at three resolutions, so short ranges no longer regather on launch and the long ranges fill from what is already on disk. See docs/history-persistence.md.
  • Read-only MCP server: get_vitals, get_vitals_history, start_trace, stop_trace. See docs/MCP.md.

Install

Build from source. Needs macOS 14 or later on Apple Silicon and the Xcode Command Line Tools.

git clone https://github.com/netsatsawat/mac-vitals.git
cd mac-vitals
./scripts/build-app.sh
open build/MacVitals.app

Full notes in the CHANGELOG.