linux 查看内存占用排名前十的进程

更新日期: 2024-10-16 阅读次数: 74 字数: 350 分类: Linux

服务器上内存紧张,连交换分区都被用去大半。于是想看看具体是哪些进程占用的内存, 这里通过命令列出内存占用排名前十的进程列表。

shell 命令:

ps -eo pid,ppid,cmd,%mem,rsz --sort=-rsz | head -n 11

输出:

    PID    PPID CMD                         %MEM   RSZ
   1171       1 /usr/share/elasticsearch/jd 41.0 13467256
 141801  141776 /usr/sbin/varnishd -a :6081 13.1 4310192
   8233    7954 /usr/local/mariadb/bin/mari 12.8 4211480
3362302    8254 php-fpm: pool www            0.5 188768
2659616    8254 php-fpm: pool www            0.5 169996
2659617    8254 php-fpm: pool www            0.5 168316
3361635    8254 php-fpm: pool www            0.4 157692
2659619    8254 php-fpm: pool www            0.4 156240
2736588    8254 php-fpm: pool www            0.4 153512
3361516    8254 php-fpm: pool www            0.4 145600

参数说明

  • ps -eo pid,ppid,cmd,%mem,rsz:ps 命令用于查看进程信息。 -e 选项表示显示所有进程,-o 选项用于指定输出格式,这里我们输出进程 ID(pid)、父进程 ID(ppid)、命令(cmd)、内存使用率(%mem)和常驻内存集大小(rsz,以 KB 为单位)。
  • --sort=-rsz:按照常驻内存集大小(rsz)进行降序排序,-表示降序。
  • head -n 11:head命令用于获取前几行的内容,这里获取前 11 行,因为第一行是标题行,后面 10 行是排名前十的进程信息。

动态实时更新

watch -n 1 "ps -eo pid,ppid,cmd,%mem,rsz --sort=-rsz | head -n 11"

watch 命令用于周期性地执行一个命令并显示结果。-n 1 选项表示每 1 秒执行一次后面的 ps 命令组合。

参数太多记不住

不过在不是自己的服务器上,也不太好安装别的工具,暂时用系统内置的工具就挺好的。

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式