top 不支持 -o 选项或直接按 rss 排序,仅支持 %mem 排序;需按实际常驻内存(rss)排序应使用 ps --sort=-rss 或 watch + ps 组合命令。

不能用 top -O 按常驻内存(RSS)实时排序——top 命令没有 -O 这个选项,这是常见误解。真正支持自定义字段排序的是 ps;而 top 的实时排序靠交互按键或 -o 参数启动时指定,但不支持 RSS 字段直接排序。
top 启动时按内存使用率(%MEM)排序
top 本身不显示或排序“常驻内存(RSS)数值”,只提供 %MEM(内存占用百分比)作为可排序字段。若需按实际物理内存用量排序,应优先用 ps;若坚持用 top,可用以下方式:
- 启动时加
-o %MEM:运行top -o %MEM,进程将按内存使用率降序排列(默认) - 启动后按 M 键:进入交互界面后,直接按 M,自动按
%MEM降序刷新 - 按 Shift + > 或 Shift + 切换升/降序方向
用 ps 按常驻内存(RSS)精确排序
要真正按常驻内存(单位 KB)排序,ps 是更准确、更直接的工具:
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
-
ps aux --sort=-rss:按 RSS 降序(内存占用最多在前) -
ps aux --sort=rss:按 RSS 升序(最小内存占用在前) -
ps -eo pid,user,%mem,rss,comm --sort=-rss | head -10:只显示 RSS 最高的前 10 个进程,含 PID、用户、内存占比、实际 KB 数、命令名
在 top 中查看 RSS 并手动识别高内存进程
虽然 top 不支持按 RSS 排序,但它默认显示 RES 列(即 RSS,单位 KiB)。你可以:
- 运行
top→ 按 f 键 → 找到 RES 行 → 按空格启用显示 → 按 q 返回 - 此时列表中已有 RES 值,肉眼扫视即可快速定位占用最大的几个进程(如 RES > 500000 表示约 500 MiB)
- 按 c 可展开完整命令行,辅助判断进程用途
进阶:用 watch + ps 实现“类 top 实时 RSS 排序”
若需要类似 top 的刷新效果,又坚持按 RSS 排序,可组合使用:
-
watch -n 2 'ps aux --sort=-rss | head -12':每 2 秒刷新一次,显示 RSS 最高的 12 个进程 -
watch -n 3 'ps -eo pid,user,rss,%mem,comm --sort=-rss | head -15':带字段标题,更清晰










