按大写M键可使top按%MEM(物理内存真实占用率)降序排列,%MEM反映RSS占总物理内存百分比,配合-i参数或按i键可过滤闲置/僵尸进程。

在 Linux 中,用 top 命令按物理内存真实占用率(即实际驻留内存,RSS 对应的百分比)对活跃进程降序排列,关键在于理解 %MEM 字段的含义和正确触发排序操作。
明确 %MEM 是你要看的指标
%MEM 列显示的是进程当前使用的物理内存(RSS)占系统总可用物理内存的百分比,它反映的是真实内存占用,不是虚拟内存(VIRT)或共享内存(SHR)。这个值已自动归一化,可直接用于横向比较各进程的内存“吃紧”程度。
进入 top 后一键触发降序排序
启动命令后,立即执行以下操作:
- 在终端中输入
top并回车,进入交互界面 - 按下大写字母 M(注意是 Shift+M 或 Caps Lock 状态下的 M)
- 此时进程列表会立刻按
%MEM从高到低重新排列,占用内存最多的进程出现在最顶端
排除干扰项,聚焦活跃进程
默认 top 会显示所有进程,包括休眠(sleeping)、僵尸(zombie)等。如需只关注真正活跃、有实际内存消耗的进程,可配合以下操作:
- 启动时加
-i参数:运行top -i,自动隐藏闲置(idle)和僵尸(zombie)进程 - 或在运行中按
i键切换过滤状态(小写 i) - 观察
S列,优先关注状态为R(running)或S(sleeping 但 RSS 显著)的进程
想固定排序并导出?用命令行参数替代交互
如果需要脚本化或保存快照,避免手动按键,可直接用参数启动:
-
top -o %MEM -b -n1 | head -20:以%MEM降序运行一次批处理模式,输出前 20 行 -
top -o +%MEM -i -b -n1:同上,同时过滤掉 idle/zombie 进程
注意:-o %MEM 和 -o +%MEM 效果一致,都表示升序;而 -o -%MEM 才是降序。但实践中 top 默认对 %MEM 使用降序逻辑,所以通常写 -o %MEM 即可满足需求。











