Mac Performance Monitor

A free, open-source Mac app that records CPU, memory, GPU, disk, network and battery history, so you can go back to the moment a slowdown started and see which process caused it.

Mac Performance Monitor is a native Mac app that shows what your Mac is doing now and records what it did before. Activity Monitor shows the present. This app keeps a history, so when the fans spin up or everything freezes, you can go back to that minute and see which process was responsible.

It runs as a menu bar readout, a quiet background recorder, or a full window. It's free, MIT-licensed, and sends no usage data anywhere.

Mac Performance Monitor dashboard in dark mode: memory pressure, free, app, compressed, cached and swap cards above memory pressure and processor charts over 30 minutes, with CPU cores, memory composition, swap and thermals panels on the right

Language Swift 6 and SwiftUI, SQLite storage through GRDB
Needs Apple silicon and macOS 15 Sequoia or later. No Intel support
Licence MIT
Version 2.2.1, 23rd September 2026. First commit in July 2026, about 20 releases since
Popularity About 630 GitHub stars
Install Signed and notarised .pkg, or Homebrew. Updates through Sparkle
Languages English, Simplified Chinese, German and French

What it does

  • History, not a snapshot. A recorder keeps samples at the detail and retention you choose, up to 7 days on the dashboard and months for battery health.
  • Explorer. Pick a moment, add the charts you need, and compare up to 8 processes, including ones that have already quit. A shared cursor moves across all charts, and the visible data exports to CSV.
  • Processes and groups. A sortable process table with CPU and memory history, open files, disk I/O and Rosetta status. Groups add up related apps and their helpers, for example a browser and all its tabs.
  • GPU and Neural Engine. Per-process GPU use, power, memory and thermal limits. It recognises AI runtimes like Ollama, MLX and LM Studio.
  • Energy. Battery health and cycles over months, power flow, temperatures, fans, and the battery levels of mice, keyboards and AirPods.
  • Disk and network. Throughput, IOPS and drive health, a disk map to find large or old files, and optional per-app network traffic.
  • Alerts on change. Instead of warning at a fixed swap threshold, it looks for memory that keeps growing or paging that strains the system. A separate check catches runaway processes fast.
  • Ask About This Mac (preview). Plain reports without AI, or optional questions answered by a local model: Apple's on-device model by default, or Qwen. The AI can't run commands or change settings.

Explorer view: a sidebar of metric checkboxes next to a grid of 12 charts over 1 hour, including total CPU, process CPU for Music, memory pressure, network, disk, die temperatures and load averages, with a value inspector on the right

For business people

The problem: a Mac slows down, and by the time you open Activity Monitor the spike is over. You're left guessing whether it was a browser tab, a sync app or a background update.

What it gives you: a record. You open the window, scroll back to the moment, and see memory, CPU and disk next to the processes that used them. That turns "my Mac is slow" into "this app leaks memory every afternoon".

Cost: free. No account, no subscription.

Privacy: recorded data stays on the Mac. The app makes network requests only for update checks, model downloads and the network tools you start yourself.

The limits:

  • Apple silicon and macOS 15 or later only.
  • Young project. 3 months old, with frequent releases. The maker labels several features as "Preview", and the GPU bandwidth figures are estimates from macOS.
  • Some features need extra permissions: Full Disk Access for app activity history, and a privileged helper for Neural Engine power.
  • Translations: the German and French versions started as AI translations and still wait for review by native speakers.

For technical people

Install with Homebrew:

brew install --cask mac-performance-monitor

Or build from source:

git clone --branch main https://github.com/Zesty0wl/mac-performance-monitor.git
cd mac-performance-monitor
swift build
swift test
Scripts/run.sh
  • Storage: samples go into a local SQLite database through GRDB.swift. Older data keeps the resolution it was stored at, and zooming doesn't invent detail.
  • Updates: Sparkle. Homebrew's cask can lag a release, and brew upgrade --greedy includes it.
  • Local AI: the Ask feature runs on MLX and llama.cpp, with model weights downloaded separately.
  • Build notes: the full app bundle needs Xcode 27. Ad-hoc signed builds can't use the privileged helper, so some sensors stay off in a self-built copy.
  • Repository: the repo includes a CLAUDE.md, so it's likely built with Claude Code's help.

How it compares

App Price Approach
Mac Performance Monitor Free, MIT Recorder and investigation window, history per process
Stats Free, MIT Lightweight menu bar readouts
iStat Menus Paid Polished menu bar monitor with history graphs
Activity Monitor Built in Live view only, no recording

Value

My Mac Studio runs local models through MLX and Ollama next to a dozen agents and servers. When it slows down, I want to know whether a model, a leaking Python process or a sync job caused it. The recorder with per-process history answers that after the fact, and the GPU view that recognises MLX and Ollama fits my setup.

I'd run the recorder in the background and open Explorer only when something feels off.

Further Reading

NicAI
Written by NicAI, Nic's AI assistant, for his personal knowledge base. Researched and drafted by the model, not hand-written by Nic. Verify anything you plan to act on.