Unified-memory pressure · Apple Silicon

Know how much Mac you have left.

Searoom is a quiet menu-bar instrument for watching memory pressure and the capacity that matters while local LLMs and other heavy work are running.

502 KB · macOS 14+

Also via Homebrew or Zip

  • Native AppKit
  • Local only
  • Open source
01

Built for the menu bar

Open, understand, and get back to work in seconds.

02

One quiet sampler

Low-frequency collection keeps the observer out of the way.

03

Honest telemetry

Unsupported hardware sensors are shown as unavailable, never zero.

04

Cost is visible

Searoom reports its own CPU and memory footprint.

The instrument

Capacity, contention, and context.

Searoom keeps the load-bearing signals together, pairs every pressure color with a state word or value, and retains a bounded local history for useful trends.

CPU & load

Current utilization, load average, and a clearly labeled derived saturation signal.

Memory & swap

Working set, reclaimable capacity, cache, pressure, and swap activity.

Thermal & fans

macOS thermal state plus best-effort temperature and fan telemetry when available.

Network & disk

Live download, upload, disk read, disk write, and swap byte rates.

Graphics pressure

Best-effort GPU utilization with graceful behavior on unsupported hardware.

Accountable by design

The final telemetry line always shows Searoom’s own CPU, RAM, and sample interval.

What you can do with it

Yours to arrange.

The instrument reads the same signals for everyone. What it shows you, where, how often, and how far back is a set of choices, and all of them are remembered.

A menu bar you choose

Up to five of twenty-five metrics, in any order, stacked or inline. Pick none and it shows the mark alone.

Cards you rearrange

Drag a dashboard card, or reorder from a keyboard and VoiceOver accessible list. The order is kept.

Trends up to a day long

From 15 minutes to 24 hours. A long window costs no more memory or disk than a short one.

Scrub any graph

Six trends share one hover, so a cause and its effect are marked at the same instant across cards.

Sampling on your terms

Every whole second from 1 to 10, driven by a single timer with the expensive reads deliberately slower.

Open it from anywhere

Record a global shortcut, and turn on launch at login if you want it there from the start.

Detents, or silence

Trackpad feedback on every control that has a stop, and one switch that turns all of it off.

Every reading, as JSON

The same signed binary is a searoom command. Read-only, offline, and it describes its own contract to whatever is parsing it.

Nothing phones home

No account, no analytics, no background updater. The version check runs only when you click it.

Local means local

Your Mac’s telemetry stays on your Mac.

No account, no analytics, no crash uploader, and nothing that reaches the network on its own schedule. Preferences and bounded trend history live locally.

A system instrument shouldn’t become another system to monitor.

01 · No account Install it and use it. There is nothing to register or sign into.
02 · No uploads Searoom sends no telemetry, diagnostics, or configuration. The only request it makes is the update check you start yourself, and it describes nothing about your Mac.
03 · No privilege No root helper, Accessibility access, or Input Monitoring permission required.

Early open-source build · v0.7.0

Native, small, and inspectable.

Searoom is written in Swift 6 with direct AppKit rendering and no runtime dependencies. Clone the repository, build it, and keep an eye on the work that matters.

  • macOS 14+
  • Apple Silicon
  • MIT licensed

Terminal

Swift Package Manager
$ git clone https://github.com/emaitchess/searoom.git
$ cd searoom
$ swift build --disable-sandbox
$ .build/debug/Searoom

Measured, not asserted

The numbers on this site came from runs we actually did.

Four field notes were rewritten after a measurement session on a MacBook Pro, Apple M5 Pro, 48 GB, macOS 27.0 build 26A5425a, running Searoom 0.3.0 against two local models held in memory at once.

Loading a second model drove the working set to 43.69 GB and produced 225 MB of swap-out, with free memory falling to 0.05 GB and the compressor peaking at 17.17 GB first. The escalation order is in the second-model field note, and what it means for reading the counters is in swap I/O vs swap size.

Six minutes of continuous generation took both fans from 0 to roughly 5,000 RPM, and 70 seconds after the last request they had fallen by only about 2%. The full curve is in why your Mac’s fans spin up.

That same run reached a fair thermal state and was never throttled, so the throttling field note publishes a run that did not throttle rather than a curve we did not get. Where a measurement has not been run, the article says so instead of estimating, and every figure names the Mac, the macOS build, and the Searoom version that produced it.

Questions, answered from measurement

The ones people actually ask.

Short answers to the questions this site’s field notes already measured, each with the run or source behind it. The long versions are in the questions reference.

Will Searoom slow down my Mac?

Searoom is one quiet sampler. Measured with powermetrics on an otherwise idle MacBook Pro, M5 Pro, 48 GB, macOS 27.0, Searoom 0.7.0 with the popover closed: about 4.2 timer wake-ups per second and 0.36% of one core at the default two-second cadence, roughly 110 MB resident, and zero wake-ups in the sub-5 ms deadline buckets; at a ten-second cadence it backs off to 0.8 wake-ups per second and 0.08% of one core. The full method and per-cadence tables are in the wake-ups field note.

Is Searoom really free?

Free and open-source under the MIT licence, and free forever — no account, no paid tier, nothing locked. The download page carries the checksums and the one-command Homebrew install.

Does my data leave my Mac?

No. There is no account, analytics, crash uploader, or remote configuration, and preferences and bounded trend history stay on the Mac. The one network request Searoom can make is a version check you start from Check for Updates, and it installs nothing. The full claims: what stays on the Mac.

How much RAM do I need for local models?

Budget what a model occupies while generating, not its file size. Measured across five models under one identical workload at a 4096-token context on a 48 GB Mac (Searoom 0.3.0), resident cost ran from 88% to 195% of file size — worst at the small end, where a 2.78 GB file cost 5.43 GB. The run and the sizing method: how much RAM a local model really needs.

How do I know if my Mac is thermal throttling?

Read the thermal state macOS itself publishes — pmset -g therm in Terminal, or the thermal state in Searoom — rather than a thermometer. Degradation starts at fair, not serious: measured under sustained inference, the two heaviest workloads of a five-model run lost 26.3% and 32.9% of throughput inside fair without ever reaching serious, and a control model that never left nominal stayed flat. What the states cost: the thermal throttling reference.