We Measured It: FavTray's Idle CPU and Memory With Every Tool On
Short answer: with every one of FavTray’s tools switched on, the app idles at 0.3–0.5 % CPU. Memory is below. 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.
Update, 30 September 2026: a FavTray 2.0.7 debug build on the same M5 Max (macOS 26.6.2), after 10 hours of normal use, idled at 0.25–0.5 % CPU, with 184–195 MB resident and 291–299 MB in Activity Monitor’s Memory column. Its peak over those 10 hours was 1.8 GB. We haven’t measured a release build yet.
The setup
| App | FavTray 1.11.0, debug build |
| Mac | MacBook Pro, Apple M5 Max |
| macOS | 26.6.2 |
| Tools enabled | All of them — 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 |
| State | Island collapsed, side dock collapsed, popover closed, no user input |
| Method | ps -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 every tool 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:
- 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. - A closed island does nothing. Ambient scenes exist only while the island is open. Collapsed, there is no timer, no redraw, no layout.
- 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.
- 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.
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 every tool 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?
In the 10 September test (FavTray 1.11.0, debug build), ps reported 387 MB resident and top 179 MB, with every tool on, the AI usage poller running, weather for two cities, GitHub polling, and the side dock open. A 30 September check of a 2.0.7 debug build on the same Mac showed about 300 MB in Activity Monitor's Memory column at idle, and a peak of 1.8 GB over 10 hours of use.
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.