Inspect a Process's Memory with vmmap

Break down a macOS process's RAM usage by region and type using the built-in vmmap tool.

macOSmemoryvmmapDiagnosticsLow risk
Run vmmap --summary <pid> to see an aggregated summary of a process's memory: dirty vs clean, malloc, images, stacks, and more.

01Command

Command
$ vmmap --summary <pid>

02What it does

vmmap prints every virtual memory region of a live process — which library or allocation zone owns each range, whether pages are writable/dirty (cost real RAM) or clean/reclaimable, and how big the stacks and mapped files are. The --summary flag condenses this into a table that answers the everyday question 'why does this process hold 2 GB?': usually malloc allocations, dirty memory from caches, or a leak. Ship with macOS, no Xcode required; find the PID via ps or Activity Monitor.

03Risk

RiskLow risk
RequirementsYour own processes can be inspected directly; other users' processes need sudo.
!Warning: Reading other users' or system processes requires sudo, and the full (non-summary) output for a big app is enormous — start with --summary and drill into specific regions with vmmap's grep-friendly output. vmmap pauses the target briefly, so avoid it on latency-critical processes.

04Undo

✓No undo needed — this command does not change persistent state.

05Sources

  • vmmap(1) macOS man page
    unix.com · technical · 2026-09-17
    Evidence: Man page for vmmap: shows the virtual memory regions of a process, with --summary for an aggregated breakdown.
  • Finding Memory Abuses - Apple Developer
    Apple · vendor-doc · 2026-09-17
    Evidence: Apple documentation recommending vmmap alongside leaks to analyse process memory footprint.

Last verified: 2026-09-18 · Category: Developer

06Related solutions