Java 使用hprof评测Hadoop减少任务
我正在尝试使用Java 使用hprof评测Hadoop减少任务,java,hadoop,hprof,Java,Hadoop,Hprof,我正在尝试使用 conf.setBoolean("mapred.task.profile", true); conf.set("mapred.task.profile.params", "-agentlib:hprof=cpu=samples,heap=sites,depth=6,force=n,thread=y,verbose=n,file=%s"); conf.set("mapred.task.profile.maps", "0-1"); conf.set("mapred.task.prof
conf.setBoolean("mapred.task.profile", true);
conf.set("mapred.task.profile.params", "-agentlib:hprof=cpu=samples,heap=sites,depth=6,force=n,thread=y,verbose=n,file=%s");
conf.set("mapred.task.profile.maps", "0-1");
conf.set("mapred.task.profile.reduces", "0-1");
正如预期的那样,我已经生成了4个配置文件:
2849 Mar 25 15:30 attempt_201402231438_11879_m_000000_0.profile
8786788 Mar 25 15:30 attempt_201402231438_11879_m_000001_0.profile
4129237 Mar 25 15:31 attempt_201402231438_11879_r_000000_0.profile
12644892 Mar 25 15:32 attempt_201402231438_11879_r_000001_0.profile
(具有\u m
的文件在映射器任务评测期间生成,而\u r
的文件在reduce任务评测期间生成)
trust\u 2014022231438\u 11879\u m\u000001\u 0。配置文件
看起来不错:
THREAD START (obj=50000161, id = 200001, name="main", group="main")
THREAD START (obj=500021bd, id = 200004, name="TGT Renewer for yampolsy", group="main")
THREAD END (id = 200004)
...
TRACE 300000: (thread=200001)
<empty>
TRACE 300001: (thread=200001)
java.lang.Thread.<init>(Thread.java:493)
TRACE 300002: (thread=200001)
java.lang.Thread.<init>(Thread.java:206)
...
SITES BEGIN (ordered by live bytes) Tue Mar 25 15:30:45 2014
percent live alloc'ed stack class
rank self accum bytes objs bytes objs trace name
1 35.41% 35.41% 99614736 1 99614736 1 317704 byte[]
2 16.79% 52.20% 47232000 2880 125952000 7680 318394 char[]
...
SITES END
CPU SAMPLES BEGIN (total = 6089) Tue Mar 25 15:30:45 2014
rank self accum count trace method
...
859 0.02% 99.57% 1 319489 java.lang.System.arraycopy
860 0.02% 99.59% 1 319490 java.lang.Object.<init>
CPU SAMPLES END
螺纹开始(obj=50000161,id=200001,name=“main”,group=“main”)
线程启动(obj=500021bd,id=200004,name=“TGT续订器用于yampolsy”,group=“main”)
螺纹端(id=200004)
...
跟踪300000:(线程=200001)
跟踪300001:(线程=200001)
java.lang.Thread.(Thread.java:493)
跟踪300002:(线程=200001)
java.lang.Thread.(Thread.java:206)
...
网站开始(按活动字节排序)2014年3月25日星期二15:30:45
允许堆栈类的活动百分比
秩自累积字节objs字节objs跟踪名称
1 35.41%35.41%99614736 1 99614736 1 317704字节[]
2 16.79%52.20%47232000 2880 125952000 7680 318394字符[]
...
站点结束
CPU样本开始(总计=6089)2014年3月25日星期二15:30:45
秩自累计计数跟踪法
...
859 0.02%99.57%1 319489 java.lang.System.arraycopy
8600.02%99.59%1319490 java.lang.Object。
CPU样本结束
在奇迹开始之后:
trunt_2014022231438_11879_m_000000_0。配置文件
仅包含标准头文件(无配置文件信息)。我不太关心这个文件,因为我的主要兴趣是reducer,但这感觉不对trunt_2014022231438_11879_r_000000_0.配置文件
和trunt_2014022231438_r_11879_r_000001_0.配置文件
包含线程和跟踪信息,但不包含CPU样本和站点信息李>
作业已成功完成
知道会出什么问题吗
为什么我没有得到减速机的CPU样本
有人遇到过同样的问题吗?你最终找到了解决办法吗?我有一个类似的问题,但在我的情况下,我只调试映射程序,并没有CPU样本的任何地方!要了解更多信息,我不这么认为,我会更新帖子