录制JFR时出错

时间:2016-03-17 11:06:29

标签: java performance-testing jfr

我正在尝试为tomcat服务器中托管的java应用程序记录JFR。我使用了以下jvm args。

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

我正在使用以下linux命令来记录JFR。

 /opt/java/perf/jdk1.7.0_79/bin/jcmd 32627 JFR.start duration=900s 
   settings=/opt/profile.jfc filename=/opt/flight_17-Mar-2016.jfr

但是我收到了这个错误:

**32627:
java.text.ParseException: JSON object must begin with '{', line=0, column=0 : 
 <?xml version="1.0" encodi    ng="UTF-8"?>
<configuration version="1.0" name="Profiling" description="Lo**

如果有人对此有任何疑问,请建议。提前谢谢。

1 个答案:

答案 0 :(得分:0)

JDK 7u40是第一个具有完整Java Flight Recorder支持的Oracle JDK版本。之前的版本没有任何JVM事件,因此使用设置文件配置它没有多大意义。

当JVM事件被添加到Hotspot时,文件格式已更新,因此它可以更好地支持Java Mission Control的配置,这意味着从JSON切换到XML。

修复是使用Oracle JDK的更高版本。