找出最耗CPU的hadooop作业

     2014年06月22日       磊磊syh       运维笔记->Hadoop       mapreduce cpu 

早上一堆机器load报警,top看了一下load都上60几了,应该是有特别的作业比较消耗cpu。
通过下面这条命令把cpu消耗top5的作业纠出来。

#!/bin/bash
TOPN=5 #这里我选top 5的
for i in `ps aux | grep -v CPU | sort -k 3 -n | awk '{print $2}' | tail -${TOPN}`; 
do
    grep -aPo 'job_\d*_\d*' /proc/${i}/cmdline  | sort | uniq; 
done  | uniq -c 

然后使用pssh上所有load报警的机器上跑一下,即可以得到最消耗cpu的作业