profilinghadoop使用hprof减少任务

c86crjj0  于 2021-06-03  发布在  Hadoop
关注(0)|答案(0)|浏览(210)

我正在尝试使用

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

(文件与 _m_ 在Map程序任务分析期间生成,并且 _r_ 在reduce任务分析期间生成) attempt_201402231438_11879_m_000001_0.profile 看起来不错:

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

奇迹开始之后: attempt_201402231438_11879_m_000000_0.profile 仅包含标准标头(无配置文件信息)。我不太关心这个文件,因为我的主要兴趣是reducer,但这感觉不对 attempt_201402231438_11879_r_000000_0.profile 以及 attempt_201402231438_11879_r_000001_0.profile 包含线程和跟踪信息,但不包含cpu示例和站点信息。
作业已成功完成。
知道会出什么问题吗?
为什么我不拿减速机的cpu样本?
有没有人遇到过同样的问题?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题