Your dev stack is using 11.2 GB.
Get it back.
Ramback is a free menu bar app that shows every simulator, emulator, Gradle daemon, container and dev server eating your Mac's memory, and stops them in one click.
No account, no card. Apple silicon and Intel.
brew install --cask heykadirhan/tap/rambackThe real panel, rebuilt for the web. Hover a row to find it on the desktop: ⌫ stops it, P pins it. ⌘⌫ is Clean slate.The real panel, rebuilt for the web. Tap a row's stop button or Clean slate.
How a 16 GB Mac runs out of memory by four o'clock
19.1 GB used of 16 GB · 3.1 GB in swap
- macOS and your apps7.9 GB
- postgres1.4 GB
- iPhone 17 Pro1.8 GB
- Gradle daemon ×43.8 GB
- Pixel 83.1 GB
- Metro0.4 GB
- next dev0.7 GB
Postgres has been up since Monday. That one can stay.
You run the iOS app, and Xcode boots an iPhone 17 Pro simulator.
Android Studio syncs the project. Gradle starts four daemons, and they keep their heap after every build.
A Pixel 8 emulator for the Android side. That's past 16 GB, so macOS starts swapping to disk.
Metro, for the React Native screen.
You ask Claude Code to fix a page. It starts next dev, fixes the page and moves on. The server stays.
You closed Xcode and Android Studio at lunch. Everything they started is still running, and the cursor starts to spin.
One click on Clean slate: 9.8 GB back. Postgres keeps running.
Each thing gets stopped the way its own tool would stop it
Activity Monitor shows you qemu-system-aarch64 at 3 GB. Ramback shows you Pixel 8, says Android Studio started it four hours ago, and shuts it down with adb instead of a kill. Anything still running 5 seconds later gets a question, not a force quit.
iOS simulators
Every booted device, Xcode Previews too, including the ones with no window.
xcrun simctl shutdownAndroid emulators
Every running AVD by name, and what started it.
adb emu killGradle and Kotlin daemons
With the Gradle version, idle time and whether it's mid-build.
A gentle stop to its process tree
Containers
Docker Desktop, OrbStack and Colima, grouped by Compose project.
docker stopDev servers
Next.js, Vite, Nuxt, Astro, Storybook, Wrangler, Rails, Django, Phoenix, or anything listening from a project folder.
The whole tree, from
npm run devdownBundlers
Metro, Expo and flutter run.
A gentle stop to the whole command
Tunnels
ngrok, cloudflared and kubectl port-forward.
A gentle stop
AI agents
Claude Code, Codex, Cursor Agent and Gemini CLI, with every server each one started.
Never stopped. Their leftover servers are.
Databases
Postgres, MySQL, Redis, MongoDB and Valkey, native or in a container.
Locked. Only you can stop them, after a confirm.
And what it leaves alone
- Your database
- No rule, no Clean slate and no agent stops it. You can, after a confirm.
- Anything mid-build
- A broken build costs more than the RAM.
- Your files
- Disk cleanup moves them to the Trash. Only caches that download again are removed for good, after a second yes.
- Your data
- Process names, paths and projects stay on your Mac. Anonymous usage counts only if you opt in.

Three Gradle daemons, two dev servers your agents left running, and a simulator you forgot
That's a normal afternoon. Ramback finds them in one pass over the process table and counts memory the way Activity Monitor does. Each row tells you enough to decide in a second:
- idle 2h
- Faded rows haven't done anything for that long. They're the first to go.
- building
- Mid-compile. Clean slate and the rules leave it alone until the build is done.
- the pin
- Pinned rows stay through Clean slate and every rule. Press P on any row.
- the lock
- Databases and their containers keep running until you stop them yourself.
- started by
- Claude Code, Cursor, Codex, Xcode, Android Studio or your terminal, read from the process tree.
Rules can do the tidying while you work
One switch each, at most one number, no editor. The dev server rules are free. Every automatic stop is logged, and with Pro, simulators, emulators and containers come back with Undo.
Dev serversFree
- Stop dev servers idle for3 h
- When an agent quits, stop the servers it started
- When a project folder is deleted, stop its servers
Simulators, emulators and daemonsPro
- When Xcode quits, shut down simulators
- When Android Studio quits, stop emulators and daemons
- Stop Gradle and Kotlin daemons idle for60 min
- Before sleep, Clean slate
Rules never stop a database, anything pinned or anything building, and never force-stop.
The disk tab finds what Xcode and Android Studio leave behind
Old simulator runtimes, DerivedData per project, iOS DeviceSupport, Android images no emulator uses, Gradle caches, and node_modules you haven't touched in 90 days. The scan and the total are free.
Cleaning moves your files to the Trash. Only caches that download again are deleted for good, after a second yes, and Ramback never empties the Trash for you. Cleaning is part of Pro.


A heads-up before it gets slow
When macOS reports memory pressure, Ramback picks the biggest idle things you haven't pinned and asks once, with the number it would free. At most one warning every 30 minutes. Rules tell you what they stopped, and Undo brings it back. Both are part of Pro.
Your agents can check before they boot another emulator
A CLI and an MCP server ship inside the app, free. An agent can see what's running, stop the servers it started and find a free port. It can't stop your database, your pins, a build or another agent's servers.
$ ramback status Dev stack 3.7 GB · pressure warning · swap 4.4 GB · scanned in 181 ms Databases MongoDB :27017 0.1 GB database · guarded · 1 proc PostgreSQL :5432 0.0 GB database · guarded · 6 proc Xcode SWBBuildService 1.4 GB xcode · started by Xcode · 9 proc ramback Claude Code 0.4 GB agent · not stoppable · 5 proc # …and four more Claude Code sessions, 0.4–0.5 GB each
$ claude mcp add ramback -- /Applications/Ramback.app/Contents/Helpers/ramback mcpMCP tools: list_running, stop, free_memory, find_free_port. CLI and MCP docs →
Everything in the demo above is free
No account, no card, no time limit. Free is the whole menu bar app. Pro adds the parts that work on their own, for $19 once.
Free
$0, for as long as you use it
- Everything running, with its RAM and what started it
- Stop, pin and Clean slate
- The dev server and agent rules
- The disk scan, with the total
- The CLI and the MCP server for agents
Pro
$19 once for 2 Macs, with every 1.x update
Everything in Free, plus:
- A warning when memory gets tight
- Simulator, emulator, daemon and sleep rules
- Undo for what a rule stopped
- Disk cleanup
- Activity log with a weekly total
30-day refund, no questions. Team: one key for 10 Macs, $69.
Prefer the App Store? Ramback Lite, for ports and dev servers, is on its way.
I built it for my own Mac first
The terminal output above is mine, from an ordinary afternoon: memory pressure at warning, 4.4 GB in swap, and five Claude Code sessions holding half a gigabyte each.
Activity Monitor tells you something is using the memory. It doesn't tell you it's yesterday's simulator, or a dev server an agent started and never stopped. I wanted one list that does, and one button that stops the right things and leaves the database alone.
I'm building Ramback on my own. No company, no investors, so I can promise a few things directly:
- Free stays useful.The full list, Clean slate, the dev server and agent rules, the disk scan and the CLI never go behind the paywall.
- It asks before it forces.Everything gets a gentle stop first. If something won't quit, you decide.
- If you buy Pro, you pay once.$19 for 2 Macs, with every 1.x update. Nothing renews.
Questions
Is Ramback free?
Yes. The list, stopping, Clean slate, the dev server and agent rules, the disk scan, the CLI and the MCP server are free for as long as you use them, with no account. Every install starts with 14 days of Pro so you can try the rest; when they end, Ramback goes back to Free on its own. There's nothing to cancel. Pro is $19 once.
How is it different from Activity Monitor?
Activity Monitor lists processes. Ramback groups them by what they are (simulators, emulators, Gradle daemons, containers, dev servers, agent sessions), shows which tool started each one and how long it has been idle, and stops them the way their own tools do, with simctl, adb or docker instead of a kill.
Is it safe? What does it never stop?
It stops things gently first: simctl shutdown, adb emu kill, docker stop, or SIGTERM to the process tree. If something is still running after 5 seconds, it asks before forcing it. Databases only stop after you confirm, nothing mid-build is touched, and it never goes near root's processes, other users' processes or anything under /System.
Why isn't it on the Mac App Store?
App Store apps run in a sandbox that can't call simctl, adb or docker, or read ~/Library/Developer. That's most of what Ramback does. A smaller Lite version for ports and dev servers is on its way to the App Store.
What leaves my Mac?
Nothing about your work. Process names, paths and project names stay on your Mac. If you opt in, anonymous counts (what kind of thing was stopped, how often) go to TelemetryDeck. The only other calls are license checks with Polar and update checks with ramback.app. Privacy details →
Does it work with OrbStack, Colima or Podman?
Docker Desktop, OrbStack and Colima, yes. The VM counts toward the total, and containers show their share of it, grouped by Compose project. Podman isn't detected yet. Why the Docker VM holds on to memory →
Does it work on Intel Macs?
Yes, it ships as a universal binary. It needs macOS 14 Sonoma or later.
Does it need Full Disk Access or Accessibility?
No. If your projects live in Desktop or Documents, macOS asks once so Ramback can read folder names to find project roots.
How do I free port 3000 on a Mac?
Open Ramback and stop the dev server listening on :3000, or run ramback stop :3000 in a terminal. It stops the whole process tree, so the port is actually released. The manual way, with lsof →
Why are Gradle daemons using so much RAM?
Every Gradle version, JDK and set of JVM options gets its own daemon, and each keeps 1–2 GB after the build ends. Ramback lists every Gradle and Kotlin daemon with its RAM and idle time, and a rule stops idle ones after 60 minutes. Capping them in gradle.properties →
Can it clear Xcode DerivedData and old simulator runtimes?
Yes. The Disk tab finds old simulator runtimes, DerivedData per project, iOS DeviceSupport, Android images no emulator uses and stale Gradle versions, and shows the total for free. Cleaning is Pro: your files go to the Trash, and only caches that download again are deleted for good, after a second yes.
See what's running on your Mac right now
The first scan takes about a fifth of a second.
No account, no card. Apple silicon and Intel.
brew install --cask heykadirhan/tap/rambackFeatured on Product HuntFazierStartup FameStartup FastFindly.toolsIndieHuntSuperlaunchLaunchstagLooking For ToolsSaasHuntShowMySitesMaidensailDanielLaunchesDailyPingsUno DirectoryTwelve ToolsEasyLaunchLaunch Llama ToolsLaunch StreakLaunch ListSubmit AI Toolstools.cafeDANG!