java飞行记录器连接错误

jaql4c8m  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(550)

我使用Java7的飞行记录器来转储hadoop任务的执行。为此,我使用以下配置选项:

<property>
    <name>mapred.child.java.opts</name>
    <value>-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=/root/recordings</value>
</property>

结果是许多.jfr文件(如预期的那样)。我可以在java任务控制中打开任何一个。但是,如果我尝试使用以下方法将它们连接在一起:

java oracle.jrockit.jfr.tools.ConCatRepository [directory] [-o output_filename]

(摘自:http://docs.oracle.com/cd/e15289_01/doc.40/e15070.pdf: http://docs.oracle.com/cd/e15289_01/doc.40/e15070.pdf)
我无法在java任务控制中打开结果,错误为“从condensed.jfr加载事件遇到问题。无法从“condensed.jfr”加载事件。
我做错什么了?

vecaoik1

vecaoik11#

听起来像是一个bug,如果jvm每秒发出10个(或更多)文件,那么该工具可能会以非时间顺序连接文件,即一个名为2014\u 01\u 15\u 20\u 03\u 14\u 35880\u 10.jfr的文件将出现在2014\u 01\u 15\u 20\u 03\u 14\u 35880\u 2.jfr之前,这可能会混淆任务控制解析器。
您可以尝试以正确的顺序连接这些文件。

相关问题