{"title": "\u627e\u51fa\u6700\u8017CPU\u7684hadooop\u4f5c\u4e1a", "update_time": "2014-06-22 08:29:36", "tags": "cpu mapreduce", "pid": "303", "icon": "hadoop.png"}
早上一堆机器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的作业