用 vmmap 查看进程内存分布

用系统自带的 vmmap 工具,把 macOS 进程的内存按区域和类型拆开分析。

macOS内存vmmap 内存映射诊断低风险
运行 vmmap --summary <PID> 即可查看进程内存汇总:脏页/干净页、malloc、镜像、栈等分类占比。

01命令

命令
$ vmmap --summary <pid>

02作用说明

vmmap 会列出运行中进程的每一段虚拟内存区域——属于哪个库或分配区、页面是可写脏页(真实占用内存)还是可回收干净页、栈和映射文件各占多大。--summary 参数把这些信息汇总成一张表,直接回答「这个进程为什么占了 2GB」这类问题:通常是 malloc 分配、缓存产生的脏页,或内存泄漏。它是 macOS 自带工具,无需 Xcode;PID 可用 ps 或活动监视器查询。

03风险

风险低风险
使用条件Your own processes can be inspected directly; other users' processes need sudo.
!注意: 查看其他用户或系统进程需要 sudo;不加 --summary 的完整输出对大型应用来说非常庞大,建议先看汇总再深入具体区域。vmmap 会短暂暂停目标进程,延迟敏感的进程慎用。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • vmmap(1) macOS man page
    unix.com · technical · 2026-09-17
    依据: 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
    依据: Apple documentation recommending vmmap alongside leaks to analyse process memory footprint.

最后验证: 2026-09-18 · 分类: 开发者

06相关方案