必须启用“专用内存”和“共享内存”列并用终端命令补全排序:右键表头勾选两列,点击“专用内存”可降序排列;“共享内存”不支持GUI排序,需用vmmap -w [PID] | grep "shared memory" 获取真实值。

当你需要精确区分某个进程自身独占的内存开销与多个进程共用的内存模块时,必须在活动监视器中启用并排序“专用内存”和“共享内存”这两列——系统默认不显示它们,且无法通过点击表头直接对“共享内存”升序或降序排列。
启用“专用内存”和“共享内存”列
活动监视器默认隐藏这两项关键内存维度,需手动调出才能参与排序。这一步漏掉,后续所有排序操作都无效。
启动活动监视器后,右键点击任意列标题(如“进程名称”或“CPU%”),在弹出菜单中勾选【专用内存】和【共享内存】;若菜单中未出现这两项,请先点顶部菜单栏“显示”→“列”,再勾选。
勾选后两列会立即出现在表格右侧,但此时它们尚未激活排序功能——因为“共享内存”列不支持单击表头排序。
对“专用内存”按从高到低排序
这是唯一能直接用鼠标完成的排序操作,适用于快速定位真正吃内存的独立进程。
在“内存”标签页中,单击【专用内存】列标题一次,列表即按该值降序排列,顶部进程即为当前独占物理内存最多者。
注意:专用内存数值越接近“内存”列总值,说明该进程越少复用系统库,内存效率越低;若某 Chrome Helper 的专用内存达1.2 GB而共享内存仅80 MB,它大概率是异常实例。
用终端命令补全“共享内存”排序能力
活动监视器GUI界面完全不响应对“共享内存”列的点击排序,必须借助终端获取真实排序结果。
方法一:用ps命令提取并排序
打开终端,输入:ps -eo pid,comm,rss,vsz,pmem --sort=-rss | head -n 20 → 回车;该命令列出前20个按物理内存(RSS)排序的进程,含命令名与内存占用,但不含共享内存字段。
方法二:用vmmap精准定位共享内存占比(需指定PID)
先在活动监视器中选中目标进程→右键→“复制PID”;然后终端执行:vmmap -w [粘贴PID] | grep "shared memory" → 回车;输出中“shared memory”行右侧数字即为该进程实际使用的共享内存量,单位为字节。
这一步不可跳过:vmmap结果中的“shared memory”不是估算值,而是从内核直接读取的映射段真实大小,比活动监视器显示的更准确。

















