linux查看 top N的内存占用的进程
立即检查哪些进程占用大量内存:
ps aux --sort=-%mem | head -20
或者使用 top 命令查看内存使用情况。
命令分步解析
这个命令可以拆解为三个部分,通过管道符 | 连接,作用是把前一个命令的输出,作为后一个命令的输入。
| 命令部分 | 功能解释 | 关键参数说明 |
|---|---|---|
ps aux |
查看系统中所有进程的详细信息。 | a:显示所有用户的进程。 u:以用户为主的格式显示(会包含 %MEM 列)。x:显示包括不依赖终端(如后台服务)的所有进程。 |
--sort=-%mem |
对 ps 命令的输出结果进行排序。 |
--sort=-%mem:按内存使用率(%MEM 列)进行降序排列。- 号代表倒序,即从高到低。 |
head -20 |
只显示前面若干行的内容。 | -20:限制只显示前20行的结果。 |
简单来说,这条命令的执行流程是:ps aux 先列出所有进程 → --sort=-%mem 将这些进程按内存使用率从高到低排序 → head -20 最终只输出排在最前面的20个进程。
ps aux 输出列的含义
执行 ps aux 后,你会看到类似下表的许多信息列:
| 列标题 | 含义 |
|---|---|
| USER | 进程的所有者(哪个用户启动的)。 |
| PID | 进程的唯一ID号。 |
| %CPU | 进程占用CPU的百分比。 |
| %MEM | 进程占用物理内存的百分比,这是本命令排序的依据。 |
| VSZ | 进程使用的虚拟内存大小(单位:KB)。 |
| RSS | 进程实际占用的物理内存大小(单位:KB)。 |
| TTY | 进程在哪个终端上运行。“?”表示与终端无关。 |
| STAT | 进程状态(如:S-睡眠,R-运行,Z-僵尸进程等)。 |
| START | 进程启动的时间。 |
| TIME | 进程占用CPU的总时间。 |
| COMMAND | 启动该进程的命令名称或路径。 |
相关替代或进阶用法
-
查看最耗CPU的进程:将排序字段改为
%CPU即可。 -
动态实时监控:如果希望实时刷新查看(类似于任务管理器),可以使用
top命令。进入top界面后,可以按M键来立即按内存使用率排序。 -
查看完整排序列表:如果系统进程很多,可以去掉
head -20的限制,并使用less分页查看。ps aux --sort=-%mem | less
总而言之,当你发现系统变慢或内存不足时,ps aux --sort=-%mem | head -20 是一个能帮你快速定位内存消耗大户的有效工具。
如果你想知道列表中某个特定进程(比如PID为1234的进程)的详细信息,或者想了解如何管理这些高内存占用的进程,我可以提供进一步的解释。

浙公网安备 33010602011771号