← Blog Mac Productivity

We Measured It: FavTray's Idle CPU and Memory With All 17 Tools On

By Akash Rajagopal ·

Akash Rajagopal builds FavTray, an 18-tool macOS menu bar app, and tests every app reviewed here on his own Macs.

Short answer: with every one of FavTray’s 17 tools switched on, the app idles at 0.3–0.5 % CPU and 179 MB of memory. That’s the whole result. The rest of this post is how we measured it, why the island in particular stays cheap, and how to reproduce the test on your own Mac in thirty seconds — because “lightweight” on a marketing page is worth exactly nothing until someone shows a number and a method.

Measured 10 September 2026. We’ll re-run this on each major release and keep the history here.

The setup

AppFavTray 1.11.0, debug build (release builds are typically lighter)
MacMacBook Pro, Apple M5 Max
macOS26.6.2
Tools enabledAll 17 — Eye Rest, AI Usage (Claude + Codex polling), Keep Alive, Window Manager, Cloud Costs, System Info, Port Kill, Menu Bar Manager, GitHub Notifications (polling), Reminders, Meetings (calendar read), AI Writer, Screenshot, Agent Sessions, Hydrate, Move, FavShelf with weather for two cities
StateIsland collapsed, side dock collapsed, popover closed, no user input
Methodps -o %cpu,rss -p <pid> every 5 s for 30 s; top -l 3 -s 5 for comparison

The numbers

CPU (ps, 5-second interval, 6 samples): 0.5, 0.3, 0.4, 0.4, 0.4, 0.4 %. ps reports a decaying average, which is the fairest single idle figure: ≈ 0.4 %.

CPU (top, 5-second samples): 0.0, 1.8, 1.9 %. top shows the instantaneous load in each window, so it catches the moment a poll runs — the AI usage refresh, a weather fetch, GitHub. Between polls it reads 0.0.

Memory (RSS): 387,168–387,552 KB as reported by ps; 179 MB as reported by top (which excludes shared framework pages). Both were flat across the run — no growth.

Threads: 26.

For scale, a single Chrome tab on the same machine sits between 1 and 3 % while “idle” and 150–400 MB. FavTray with seventeen tools on is roughly one tab.

Why the island stays cheap

Notch apps get a bad reputation for battery, and the reason is nearly always the same two things: animations that never stop, and timers that never stop. FavTray’s island has rules against both, and they’re enforced in code review, not just intended:

  1. No repeatForever. Every animation in the island is one-shot and event-driven. Waves in the water tank, the shrimp’s hop, the candle flames, the rain in a weather card — each runs from a clock that starts when the card appears and pauses itself after the card’s life (6.5 s), even if the view is still on screen.
  2. A closed island does nothing. Ambient scenes exist only while the island is open. Collapsed, there is no timer, no redraw, no layout.
  3. Polling is owned, not ambient. The usage, weather and GitHub pollers are reference-counted: they run at their interval whether or not the UI is open (that’s the point of a tracker), but the UI-open state only changes cadence, never adds a second loop.
  4. Reduce Motion is a real mode. With it on, every notch moment collapses to a plain one-line card and the effects never instantiate.

None of this is exotic. It’s the difference between an app that treats the notch as a display surface and one that treats it as a screensaver.

Reproduce it on your Mac

# CPU percent and resident memory (KB), one sample
ps -o %cpu,rss -p $(pgrep -x FavTray)

# Six samples, five seconds apart
for i in 1 2 3 4 5 6; do ps -o %cpu=,rss= -p $(pgrep -x FavTray); sleep 5; done

Or open Activity Monitor, sort by % CPU, and leave your hands off the keyboard for a minute. If FavTray isn’t near the bottom of the list with the island closed, that’s a bug — tell us which tools you had on and we’ll reproduce it.

What we didn’t measure (yet)

  • Energy Impact over a full battery cycle. We’ll add a wall-clock battery run on the next release.
  • The island open for extended periods — by design it’s not meant to stay open, but we’ll publish the open-state number too.
  • Release build. These are debug-build figures, which include diagnostics; the shipped build should be lower, not higher. We’ll swap in release numbers when 1.11 ships notarized.

Feature counts are easy to inflate. Idle CPU isn’t. If you’re comparing notch apps, ask each one for this table.

Frequently Asked Questions

How much CPU does FavTray use when idle?

0.3–0.5 % on an M5 Max with all 17 tools enabled and the island collapsed, sampled every 5 seconds over 30 seconds with ps on 10 September 2026 (FavTray 1.11.0, macOS 26.6.2). Activity Monitor-style 5-second samples via top read 0.0–1.9 %, which includes the moment a poll fires.

How much memory does FavTray use?

179 MB resident (RSS) in the same test, with every tool on, the AI usage poller running, weather for two cities, GitHub polling, and the side dock open. That was a debug build; release builds are typically smaller.

Do notch apps drain the MacBook battery?

A badly built one can — the usual causes are perpetual animations and constant polling. FavTray's island has a rule against repeat-forever animations: everything is event-driven, ambient scenes only run while the island is open and are capped, and a closed island costs nothing. The idle numbers above are the result.

How can I check FavTray's usage on my own Mac?

Open Terminal and run: ps -o %cpu,rss -p $(pgrep -x FavTray). The first number is CPU percent, the second is resident memory in KB. Run it a few times, or open Activity Monitor, sort by CPU, and watch FavTray for a minute while you do nothing.

Something new: My Dock Buddies