Linux 查看进程内存占用排行方法

3次阅读

linux中查看进程内存占用排行最常用方法是ps、top和htop命令:ps aux –sort=-%mem | head -n 11按内存使用率降序显示前10进程;top启动后按大写m键按%mem排序;htop需安装,运行后按f6选择%mem排序。

Linux 查看进程内存占用排行方法

在 Linux 中查看进程内存占用排行,最常用且直观的方法是使用 pstop 命令,配合排序和筛选。关键是要按内存使用量(如 %MEM 或 RSS)降序排列,快速定位高内存消耗进程。

用 ps 命令查看内存占用前 10 的进程

执行以下命令可列出按内存使用率(%MEM)从高到低排序的前 10 个进程:

ps aux –sort=-%mem | head -n 11

  • ps aux 显示所有进程的用户、CPU、内存等完整信息
  • --sort=-%mem 表示按 %MEM 字段降序(减号“-”表示倒序)
  • head -n 11 取前 11 行(第 1 行是表头,后 10 行为实际进程)

若想按物理内存占用大小(RSS,单位 KB)排序,可改用:
ps aux –sort=-rss | head -n 11

用 top 实时查看并动态排序

运行 top 后,无需退出即可交互式切换内存排序:

  • 启动 top
  • 按下 M(大写 M,即 Shift+M),按 %MEM 降序排列
  • 按下 Shift + P 可切回按 CPU 排序,方便对比
  • q 退出

注意:top 默认显示的是 %MEM(内存使用率),不是绝对值;RSS 列需确认是否显示——按 f 进入字段管理,启用 RSSMEM% 即可。

用 htop 查看更友好的可视化排行(需安装)

htop 是 top 的增强替代品,支持鼠标操作、颜色区分、垂直/水平滚动:

  • 安装:ubuntu/debian 执行 sudo apt install htopcentos/RHEL 用 sudo yum install htopdnf install htop
  • 运行 htop,默认已按 CPU 排序;按 F6 → 选择 %MEM → 回车,立即按内存使用率降序排列
  • 支持直接上下键浏览、F9 杀进程、空格 标记多个进程等

补充:识别可疑高内存进程的小技巧

仅看排名不够,还需结合进程名、用户、运行时间综合判断:

  • 重点关注 javanodepythonchromemysqld 等常驻型服务或应用进程
  • 检查 USER 列:非 root 用户的异常高内存进程可能属于某个失控的应用
  • 对比 TIME+STARTED:长期运行但内存持续增长,可能存在内存泄漏
  • cat /proc/<pid>/status | grep -E "VmRSS|Name"</pid> 查看某进程更精确的内存细节
text=ZqhQzanResources