| Crates.io | macmemana |
| lib.rs | macmemana |
| version | 0.2.3 |
| created_at | 2026-01-15 05:58:58.939603+00 |
| updated_at | 2026-01-15 06:11:44.830042+00 |
| description | A terminal-based memory analysis tool for macOS with accurate swap accounting. |
| homepage | |
| repository | https://github.com/W-Mai/macmemana |
| max_upload_size | |
| id | 2044674 |
| size | 94,268 |
The Ultimate macOS Memory Analysis Tool
macmemana (or simply mma) is a high-performance, terminal-based memory analyzer engineered specifically for macOS. Unlike generic tools, it leverages Apple's native footprint and vmmap utilities to demystify complex memory metrics—distinguishing between physical footprint, compressed memory, and actual swap usage with precision.
footprint data to calculate the exact swapped_total per process, normalizing it against system-wide kernel reports.ratatui. Sort, filter, and monitor processes in real-time.macmemana or the handy short alias mma.cargo install macmemana
git clone https://github.com/W-Mai/macmemana.git
cd macmemana
cargo install --path .
For the most accurate results—especially for system processes and other users' applications—running with sudo is highly recommended.
sudo mma
# or
sudo macmemana
Why sudo? macOS restricts access to detailed memory maps (
vmmap/footprint) of processes not owned by the current user. Without root privileges,mmacan only deeply analyze your own processes, leading to incomplete system-wide statistics.
Generate a detailed memory report directly to stdout:
sudo mma --cli
Sort by specific columns:
# Sort by physical footprint (descending)
sudo mma --cli --sort phys
# Sort by swap usage (descending) - Default
sudo mma --cli --sort swap
| Key | Action |
|---|---|
q |
Quit application |
r |
Refresh (trigger a deep rescan) |
j / ↓ |
Select Next process |
k / ↑ |
Select Previous process |
s |
Sort by Swap (Descending) |
p |
Sort by Physical Memory (Descending) |
c |
Sort by Compressed Memory (Descending) |
t |
Sort by Total Memory (Descending) |
n |
Sort by Name (Ascending) |
i |
Sort by PID (Ascending) |
x |
Kill selected process (send SIGKILL) |
macmemana uses a multi-stage analysis pipeline:
sysinfo.footprint on process batches.sysctl vm.swapusage to ensure the "Total Swap" matches the OS report perfectly.MIT License © 2026 Benign X