2014-01-14 28 views
2

我使用java 7的飞行记录器转储执行Hadoop任务。要做到这一点,我使用这个配置选项:java飞行记录器连接错误

<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 Mission Control中打开其中任何一个。但是,如果我尝试使用串连在一起:

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

(摘自:http://docs.oracle.com/cd/E15289_01/doc.40/e15070.pdfhttp://docs.oracle.com/cd/E15289_01/doc.40/e15070.pdf

我不能错误“加载事件在Java中的Mission Control打开结果从condensed.jfr有遇到问题,无法从condensed.jfr加载事件“。

我在做什么错?

回答

0

听起来像一个错误,这可能是因为该工具把文本文件的以非时间顺序排列,如果JVM发出每秒10(或更多)的文件,即2014_01_15_20_03_14_35880_10.jfr文件命名会来2014_01_15_20_03_14_35880_2.jfr前,这可能会混淆Mission Control解析器。

你可以尝试自己连接文件,按照正确的顺序。