Linux统计相同进程的数量

在一次定位问题的过程中,发现机器上启动了大量的进程,导致负载很高,于是就想统计一下各个进程的数量。

awk提取进程命令行

ps -ef >/tmp/a
cat /tmp/a | awk '{for(i=1;i<8;i++){$i=""};print $0}' >/tmp/b

核心在于第2行,ps命令的结果从第8行以后才是进程命令行,所以使用一个for循环,将第8列之前的内容都设置为空,然后再打印整行命令

sort + uniq 统计进程数量

sort /tmp/b | uniq -c |sort -n

根据上面的结果检查哪个进程数量最多即可。

原文地址:https://www.cnblogs.com/jmliao/p/12133798.html