Repository navigation
appmem 0.1.0
First release of appmem: see which macOS app is using your memory, grouped per app, in the terminal.
Features
- Per-app totals. Every process is attributed to the app it belongs to, using the process macOS holds responsible for it, the app bundle in its path, and dedicated rules for the iOS Simulator and Apple's system processes.
- Numbers that match Activity Monitor. Per-process memory is the physical footprint, the same value as Activity Monitor's Memory column. The header shows used and wired memory, memory pressure and swap.
- Tree view. Apps are sorted by memory with System always last. Expand an app to see its heaviest processes.
- Quit or terminate from the keyboard.
kon an app sends a normal quit request (like Cmd-Q), so apps can still ask you to save.kon a process sends SIGTERM. Every action asks for confirmation. - Safety checks. System processes, other users' and root processes, and appmem with the shell and terminal running it can never be terminated. SIGKILL is never sent.
--oncemode prints the table and exits.--intervalchanges the refresh rate.- Lightweight. About 4 MB of memory and no measurable CPU while idle.
Install
cargo install appmemRequires macOS 12 or later.
Prebuilt binary (Apple Silicon)
curl -LO https://github.com/FraCata00/appmem/releases/download/v0.1.0/appmem-v0.1.0-aarch64-apple-darwin.tar.gz
tar -xzf appmem-v0.1.0-aarch64-apple-darwin.tar.gz
sudo mv appmem-v0.1.0-aarch64-apple-darwin/appmem /usr/local/bin/The binary is not notarized. Downloading it with curl, as above, avoids Gatekeeper's quarantine flag. If you download it with a browser instead, run xattr -d com.apple.quarantine appmem before the first launch.
Known limitations
- Chrome renderer processes can't be mapped to tab names from outside Chrome. Use Chrome's Task Manager (Shift+Esc) for that.
- Process names longer than 32 bytes are truncated.