首页 > 代码库 > 怎样去找出线上hive或mapreduce运行慢的原因

怎样去找出线上hive或mapreduce运行慢的原因

hive mapreduce 都会转成java。所以要用的java分析工具。当看到map或reduce 阶段运行缓慢,我们去线上找到mapreduce的进程:
1. top 发现进程:

2. top -Hp 32486 找到进程中cpu或mem磁盘消耗最高的线程:

3.  用jstack主要用来查看某个Java进程内的线程堆栈信息:
bin/jstack -F 26510

4. 可以用jmap查看堆内存使用,也可以dump出来
jmap -dump:format=b,file=46710.dump 46710 然后可以用jvasulvm 查看

参考:
http://my.oschina.net/feichexia/blog/196575
http://jameswxx.iteye.com/blog/1041173