在一次定位问题的过程中,发现机器上启动了大量的进程,导致负载很高,于是就想统计一下各个进程的数量。
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 /tmp/b | uniq -c |sort -n
根据上面的结果检查哪个进程数量最多即可。
原文:https://www.cnblogs.com/jmliao/p/12133798.html