Configure tab suspend
Tab suspend has eight settings. Only one is required (the on/off toggle); the rest have sensible defaults that work for most people. Use this page as a reference when tuning.
The settings
Section titled “The settings”All of these live in Settings → Tab Suspend.
| Setting | Default | Unit |
|---|---|---|
| Enable tab suspend | Off | toggle |
| Suspend after | 5 | minutes of idle |
| Check interval | 1 | minute |
| Max tabs per cycle | 6 | tabs |
| Unsuspend delay | 500 | milliseconds |
| Unsuspend batch size | 3 | tabs |
| Suspend in background only | Off | toggle |
| Skip already-discarded tabs | On | toggle |
What each setting actually controls
Section titled “What each setting actually controls”Enable tab suspend
Section titled “Enable tab suspend”Master on/off switch. When off, TabControl stops checking tabs entirely — no background work, no timers. Turn it on once you're sure suspend is what you want.
Suspend after
Section titled “Suspend after”How long a tab must sit idle before TabControl suspends it. Five minutes is a good default for most workflows: anything shorter can feel surprising (you step away to make coffee, come back, and half your tabs need to reload).
Increase if your typical workflow involves leaving many tabs open for longer stretches. 15–30 minutes is reasonable for research-heavy work.
Decrease if you've got a machine with tight memory and want aggressive reclamation. Values under 2 minutes start to affect perceived responsiveness.
Check interval
Section titled “Check interval”How often TabControl looks over your tabs to decide who needs suspending. The default of 1 minute means in the worst case, a tab gets suspended suspend after + 1 minute after last activity. Lower values make suspend snappier but do slightly more background work.
Max tabs per cycle
Section titled “Max tabs per cycle”A safety valve. Even if 80 tabs all became eligible at once, TabControl only suspends up to this many per check. Prevents a big thundering-herd moment.
The default of 6 is conservative. Raise it if you routinely have sessions so large that tabs pile up faster than they can be processed.
Unsuspend delay
Section titled “Unsuspend delay”When you click into a window full of discarded tabs, TabControl waits this long before waking nearby tabs in anticipation. The delay avoids waking tabs you didn't actually mean to visit.
500 ms feels natural. Raise it if you're bouncing around window tabs quickly and don't want incidental wakes. Lower it (down to 0) if you want restored sessions to feel more "live" immediately.
Unsuspend batch size
Section titled “Unsuspend batch size”When the unsuspend delay elapses, this many nearby tabs wake up together. Three is a good balance — enough that tab navigation feels smooth, not so many that a single wake kicks off a stampede.
Suspend in background only
Section titled “Suspend in background only”When on, TabControl never touches tabs in the frontmost window. Only tabs in other windows get suspended. Use this if you've been bitten by a tab discarding itself while you had it visible.
Skip already-discarded tabs
Section titled “Skip already-discarded tabs”Safari itself sometimes discards tabs — low-memory pressure, system-wide throttling. When this is on (default), TabControl leaves those tabs alone rather than "re-suspending" them.
Turn it off only if you've got a specific reason to want TabControl to re-pass over already-discarded tabs (debugging, mostly).
How to test your config
Section titled “How to test your config”- Turn suspend on.
- Set Suspend after to 1 minute temporarily.
- Open a handful of tabs and walk away for 90 seconds.
- Come back and check Activity Monitor → Memory tab. You should see Safari's memory drop.
- Click a discarded tab — it reloads, just like it should.
- Adjust the timeout back to something realistic.
- Exclude sites from suspend — tabs you never want discarded.