linux 系统:查看内存占用 排名前10 的进程 方法

方法1:使用 ps 命令

命令ps aux --sort=-%mem | head -n 11

-%mem:这里的 - 表示按照降序进行排序,通过 man ps 中的 STANDARD FORMAT SPECIFIERS 可以查看有哪些列名。

ps aux 和 ps -ef 都可以列出系统所有进程,但是输出有小差异

  • aux :会显示资源占用信息,但是不会显示进程的PPID
  • ef:不会显示资源占用信息,但是会显示进程的PPID

ps aux:会显示资源占用信息,但是不会显示进程的PPID

  • a = all users 显示所有用户进程
  • u = user format 显示与用户相关的字段,也就是一些资源字段,CPU、内存信息。
  • x = 显示没有 TTY 的后台进程

ps -ef:不会显示资源占用信息,但是会显示进程的PPID

  • e = every process 显示所有进程
  • f = full format 也就是显示完整的进程关系格式

说明: ps aux 显示的 RSS(Resident Set Size)字段显示的就是真实占用的物理内存,单位是KB


方法2:使用 top 命令

命令top -c ,然后输入大写的 M(sort by memory)


方法3:使用 htop 命令

1、先关闭线程的显示:F2 --> Display options --> 关闭:Hide userland threads Hide kernel threads


2、点击 MEM% 列就能按升序或降序排序了

说明:htop 默认是显示线程的,但是内存是属于进程,不是属于线程,进程拥有资源,线程只是一个执行单元。
因为因为这些工具把整个进程的虚拟内存/常驻内存“复制给每个线程显示,所以如果不把线程显示关了,就不容易观察进程的内存但用。

posted on 2025-12-09 18:11  一直小爪子  阅读(0)  评论(0)    收藏  举报