终端可通过top、ps和vm_stat命令排查内存占用:top -o rsize实时排序查看高内存进程;ps aux --sort=-rss列出前10大内存占用进程;vm_stat检查pageouts值是否增长以判断是否触发交换。

Mac终端怎么查看内存被哪些程序占用了——当图形界面卡死、活动监视器打不开,或你只需要一个快速快照来确认是哪个进程在疯狂吃内存时,终端命令是最轻量、最直接的排查手段。
用top命令实时排序查看高内存占用进程
第一步:打开终端(可在“访达 → 应用程序 → 实用工具”中找到,或用Command+空格搜“终端”);
第二步:输入命令 top -o rsize -s 2 并回车;
第三步:等待约2秒,终端自动刷新,顶部几行即为当前物理内存实际占用最高的进程;
第四步:重点看 RSIZE 列(单位字节,自动换算为K/M/G),以及 COMMAND 列对应的应用名——比如 Google Chrome 占用 2.3G,说明它正在独占2.3GB物理内存。
注意:top 默认每2秒刷新一次,-s 2 是显式指定刷新间隔;若想手动暂停查看,按 Ctrl+T 可临时冻结输出;按 q 退出命令。
用ps命令一次性列出前10个内存大户
方法一:按实际内存占用(RSS)降序排列
在终端中执行:ps aux --sort=-rss | head -n 11
这会输出含表头的11行结果(第1行为列名,后10行为进程),RSS 值越大,表示该进程当前占用的物理内存越多(单位KB);
方法二:只显示进程名和内存用量(更简洁)ps -eo comm,rss --sort=-rss | head -n 11
输出只有两列:comm(简化的进程名,如“Chrome”而非完整路径)和 rss(KB);
这个结果不带用户、PID等冗余信息,一眼就能看出谁在抢内存。
⚠️ 提醒:ps 是快照命令,执行完就停止;它不刷新,也不依赖GUI,适合截图发给同事或存档比对。
用vm_stat快速判断是否已触发交换(Swap)
第一步:在终端输入 vm_stat 并回车;
第二步:查看输出中的 pageouts 行数值;
第三步:若该值持续增长(比如从0跳到127、再跳到543),说明系统已开始将内存页写入磁盘交换区——这是内存严重不足的明确信号;
第四步:结合 top 或 ps 找出高RSS进程,优先处理它们。
vm_stat 不显示具体进程,但它能告诉你系统是否已陷入内存危机。一旦 pageouts > 0,就别再等“稍后清理”,立刻查 top。











