A reader choosing a free system monitor for a Mac has more options than the app-store rankings suggest, and fewer honest comparisons than the topic deserves. Most pages that answer the question are affiliate lists that recommend paid tools first. This page does the opposite: it describes the free options on their own terms, states what each one does not do, attributes every performance claim to whoever made it, and publishes the method behind any number it measured itself.
This page is published by the Searoom project, which makes one of the tools compared. That interest is stated rather than hidden. Facts about each tool come from its own documentation and repository, licences come from repository metadata, and where a cost figure appears, the section says who measured it and how. Corrections are welcome in the project's issue tracker, and this page is updated in place rather than dated.
The field
Five tools cover the question. One ships with macOS and requires no install at all. The other four are free and open source under permissive licences.
- Activity Monitor — already on every Mac. Per-process CPU, memory, energy, disk and network, with nothing running in the background when it is closed.
- Stats — the broadest free menu-bar monitor: MIT-licensed, runs on Intel and Apple Silicon back to macOS 12, and covers CPU, GPU, RAM, disk, network, sensors and battery.
- AirStats — the newest entrant: MIT-licensed, Apple Silicon only, reads CPU, memory, GPU, network, disk, battery and thermals, and reports its own idle CPU figure with the benchmark script published.
- RunCat Neo — the glanceable one: Apache-2.0, all features free, on the Mac App Store for macOS 26 and later, with a CPU-speed animation and custom metrics read from local JSON files.
- Searoom — the one that measures itself: MIT-licensed, Apple Silicon only, aimed at sustained workloads, publishes its own idle wake-ups at every sampling interval with the method to rerun them.
The facts, as each project states them
Everything in this table is quoted from the project's own documentation or read from its repository metadata, with the source cited in the section that follows.
| Tool | Licence | Minimum macOS | Hardware | Install | What it monitors |
|---|---|---|---|---|---|
| Activity Monitor | Ships with macOS | — | Any Mac | None (in Utilities) | Per-process CPU, memory, energy, disk, network |
| Stats | MIT | 12 | Apple Silicon and Intel | Direct download, Homebrew | CPU, GPU, RAM, disk, network, sensors, battery |
| AirStats | MIT | 14 | Apple Silicon only | DMG, Homebrew cask | CPU, memory, GPU, network, disk, battery, thermals |
| RunCat Neo | Apache-2.0 | 26 | — | Mac App Store | CPU usage, memory pressure, storage, battery, network; custom metrics |
| Searoom | MIT | 14 | Apple Silicon only | Notarized DMG, ZIP, Homebrew | CPU, memory, GPU, disk, network, battery, best-effort temperature |
The tools, on their own terms
Activity Monitor
Activity Monitor ships with macOS in /Applications/Utilities and is documented by Apple as the way to see how apps use the processor, disks, memory and network. Its per-process view is deeper than any menu-bar tool's: it is the place to find which single app is using the CPU or holding memory. It also carries an Idle Wake Ups column, which turns out to matter for this page's central question. It costs nothing when it is closed, because it is not running.
What it does not do: it is a window you open, not a permanent readout. There is no menu-bar line, no history, and nothing to alert you while you work.
Stats
Stats is a free, open-source menu-bar monitor under the MIT licence, supported on macOS 12 and newer on both Intel and Apple Silicon. Its site reports more than 100 million downloads, 39.4k GitHub stars and 39 languages, and the current release is v3.0.1. Modules cover CPU, GPU, RAM, disk, network, sensors and battery, each configurable as its own menu-bar item. This is the tool to reach for when the requirement is breadth: it monitors more of the machine than anything else on this page, on the widest range of Macs.
The project's own limits are stated in its README: beta versions of macOS are not supported, only stable releases, and the 3.0 release notes describe a settings surface that has accumulated enough to be queued for a rewrite.
AirStats
AirStats is an MIT-licensed menu-bar monitor for Apple Silicon Macs. It reads CPU, memory, GPU, network, disk, battery and thermals from the kernel through Mach, IOKit, sysctl and CoreWLAN, and shows them in three places: the menu bar, a drop-down panel, and a floating desktop overlay. The build is signed and notarized, installs from a DMG or Homebrew, and updates through Sparkle — a weekly automatic check or manual only.
It is also new: the repository was created in August 2026, and the project's public footprint is small so far. Its headline figure — 0.046 percent of one core while idle — is the developer's own measurement, published with the benchmark script that produced it. That claim, and what it can and cannot be compared against, is treated in the cost section below.
RunCat Neo
RunCat Neo is the successor to RunCat, the menu-bar cat whose running speed tracks CPU load. It is Apache-2.0-licensed with all features free of charge, distributed on the Mac App Store, and requires macOS 26 or later. The dashboard covers CPU usage, memory pressure, storage capacity, battery status and network connectivity. Its distinctive feature is Custom Metrics: point it at a local JSON file and it renders whatever a script of yours writes to it, watching the filesystem without polling it and without touching the network.
Two limits are stated by the developer. Apps distributed through the App Store are sandboxed, so RunCat Neo has no direct CPU temperature or GPU performance readout. And the original RunCat's support ends at the end of 2026, so new adoption belongs with Neo.
Searoom
Searoom is MIT-licensed, requires macOS 14 or later, and runs on Apple Silicon only. It samples every metric from one serial low-frequency timer at 1, 2, 5 or 10 seconds, keeps trend windows from 15 minutes to 24 hours locally, reports its own CPU and resident memory on the dashboard, and reads sensors read-only and best-effort — an unavailable reading says so instead of showing zero. Its particular focus is sustained workloads: memory pressure under load, thermal state, and what a local language model will actually occupy once resident, which the metric reference and capability list document in full.
What it deliberately does not do is the subject of its own section below.
What each monitor costs while it runs
A menu-bar monitor is a permanent resident. Its real cost is not its download size — it is how many times per second it wakes the CPU, and what it does on each wake. Apple's energy guide states the stakes directly: many timer-invoked wake-ups mean a high energy impact. The axis is not rhetorical; it is the one readers of public threads about menu-bar monitors ask for, usually without a number coming back.
Searoom, measured
Measured on a MacBook Pro, Apple M5 Pro, 48 GB, macOS 27.0 (build 26A5425a), Searoom 0.7.0, on battery power, popover closed. Medians across 48 five-second powermetrics samples per condition. Full method, per-condition data and the reasoning are in the field note behind these numbers.
| Sample interval | Total wake-ups per second | CPU, share of one core |
|---|---|---|
| 1 s | 9.5 | 0.84% |
| 2 s (default) | 4.2 | 0.36% |
| 5 s | 2.2 | 0.19% |
| 10 s | 0.8 | 0.08% |
For context, the same measurement recorded about 2,066 timer interrupts per second machine-wide before Searoom ran at all, so the default cadence adds roughly 0.2 percent to the machine's existing wake-up behaviour. The cost tracks the chosen cadence, and every wake-up the app causes landed in coalescible deadline buckets.
The other tools, honestly attributed
AirStats reports 0.046 percent of one core while idle. That is the developer's own figure, published as the Show HN title and with the benchmark script in the repository, and this page reports it as such rather than as an independent measurement. It is also a different quantity from the table above: percent of a core is CPU time, wake-ups per second is how often the CPU is interrupted, and the two do not convert. The honest cross-check would be to run the same powermetrics method on both apps on one machine and publish both columns. That has not been done for this page, so it is not claimed here. The method is public, takes four minutes, and a reader who cares can run it on any monitor — including through Activity Monitor's Idle Wake Ups column with no password at all.
No independent wake-up figures are published here for Stats or RunCat Neo either, for the same reason. Activity Monitor, closed, costs nothing, because it is not running.
What Searoom declines, and why
A comparison that only lists features a product has is an advertisement. These are the requests Searoom has declined, publicly, with the reasons:
- Fan control. Sensor access is read-only by design. Searoom is not a fan controller and does not use a privileged helper.
- VPN country flags. A flag requires sending the user's IP address to a geolocation service — unprompted, on every sample. The update check is the opposite case: one request, only when the reader asks, sending nothing that describes the Mac.
- Intel Macs. Searoom is positioned on Apple Silicon. A claim of wider support would be false until a build exists.
And these are the current gaps, stated so a reader choosing on them can choose correctly: no per-process list, no temperature alerts, and no desktop widget. Stats and AirStats each cover parts of that list today.
The paid option, for completeness
iStat Menus 7 from Bjango is the reference paid menu-bar monitor: USD $11.99 on the Mac App Store with a 14-day trial, also available inside the Setapp subscription, with fan control among its selling points. Bjango's site lists version 7.3 as requiring macOS 11 or later. It is included here because readers comparing free options should know what the paid tier costs and adds. Nothing on this page is an affiliate link; Searoom receives nothing if you buy it.
Choosing
- Oldest supported macOS, or an Intel Mac — Stats, which supports macOS 12 and later on both architectures.
- Nothing to install — Activity Monitor, which is already on the Mac and per-process where the menu-bar tools are aggregate.
- Broadest free coverage — Stats again, for CPU, GPU, RAM, disk, network, sensors and battery in one tool.
- Apple Silicon, with thermals, an overlay and Homebrew — AirStats.
- macOS 26 or later, with a glanceable readout and custom metrics — RunCat Neo.
- Published idle wake-up numbers, local history, and context for LLM workloads — Searoom, which is why this site exists.
Frequently asked
Which free Mac system monitors are open source?
Four of the five tools on this page: Stats (MIT), AirStats (MIT), RunCat Neo (Apache-2.0) and Searoom (MIT). The licences are read from each project's repository metadata. Activity Monitor is built into macOS and is not open source.
Is iStat Menus free?
No. iStat Menus 7 costs USD $11.99 on the Mac App Store, has a 14-day trial, and is also available through the Setapp subscription. Bjango's site lists macOS 11 or later as the requirement.
Does a menu-bar monitor slow a Mac down?
Its cost is how often it wakes the CPU, not its download size. Searoom measured itself at 4.2 wake-ups per second and 0.36 percent of one core at its default two-second cadence — about 0.2 percent of a Mac's existing wake-up rate — and 9.5 wake-ups per second at its fastest. The measurement method is published, takes four minutes with powermetrics, and works on any monitor; Activity Monitor's Idle Wake Ups column gives a no-password approximation.
Does RunCat show CPU temperature?
No. The developer states that apps distributed through the App Store are sandboxed and cannot access CPU temperature or GPU performance directly, so RunCat Neo has no temperature readout. It covers CPU usage, memory pressure, storage, battery and network.
What is the best free system monitor for a Mac?
There is no single answer, and a page that names one is usually selling something. The honest mapping: Stats for the broadest coverage and the oldest supported macOS; Activity Monitor for a per-process view with nothing installed; AirStats on Apple Silicon if thermals and an overlay matter; RunCat Neo on macOS 26 or later for a glanceable animation and custom metrics; Searoom where published idle wake-up numbers, local history and local-LLM context are the priority. Match the tool to the Mac you have and the signals you need.
How this page is maintained
This is a reference page, updated in place rather than dated: the byline shows when it last changed. Facts are re-checked against each project's documentation when the page is edited, and corrections or new entrants are welcome in the issue tracker. Where this page needed a measurement, the method is published with the number; where it needed a claim it could not verify, the claim carries the name of whoever made it.
Sources
- Activity Monitor User Guide for Mac, Apple Support
- Stats, free macOS menu bar system monitor
- Stats releases, GitHub
- exelban/stats, macOS system monitor in your menu bar, GitHub
- AirStats, a menu bar system monitor for macOS
- byrencheema/airstats, GitHub
- Show HN: AirStats, Mac menu bar system monitor, 0.046% CPU idle, MIT
- runcat-dev/RunCatNeo, GitHub
- RunCat and RunCat Neo, kyome.io
- RunCat Neo on the Mac App Store
- Minimize timer usage, Energy Efficiency Guide for Mac Apps
- A menu-bar system monitor, r/macapps discussion
- iStat Menus 7, Bjango
- iStat Menus 7 on the Mac App Store