在linux中可用ps命令按内存占用百分比降序排序进程:推荐ps aux --sort=-%mem;兼容旧版可用ps aux | sort -k4,4nr;实时监控可配合watch -n 2 'ps aux --sort=-%mem | head -15'。

在 Linux 中,可以用 ps 命令结合 --sort 选项按内存占用百分比(%MEM)降序排列进程。
使用标准 ps 格式按 %MEM 降序排序
推荐命令如下:
-
ps aux --sort=-%mem:显示所有进程,并按内存使用百分比从高到低排序 -
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -10:只显示关键字段(PID、父PID、命令、内存%、CPU%),取前 10 个内存占用最高的进程
注意 %MEM 的计算方式
%MEM 是进程使用的物理内存占系统总可用内存的百分比,不是占整个 RAM 的比例。它基于 ps 内部的 rss(常驻集大小)和系统总内存估算得出,结果为近似值。不同内核或 ps 版本可能略有差异,但排序结果可靠。
兼容性与常见变体
部分旧版系统(如某些嵌入式或精简发行版)的 ps 不支持 --sort。此时可改用管道配合 sort:
-
ps aux | sort -k4,4nr | head -10:按第 4 列(%MEM)数值逆序排序,取前 10 行 - 注意:
ps aux输出列顺序固定,%MEM 恒为第 4 列;-k4,4nr表示按第 4 列数值(n)、逆序(r)排序
实时监控建议
若需动态观察,可搭配 watch:
-
watch -n 2 'ps aux --sort=-%mem | head -15':每 2 秒刷新一次,显示内存前 15 的进程 - 避免频繁运行
ps aux全量扫描,生产环境慎用过短间隔(如-n 1)











