我正在尝试为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**
如果有人对此有任何疑问,请建议。提前谢谢。
答案 0 :(得分:0)
JDK 7u40是第一个具有完整Java Flight Recorder支持的Oracle JDK版本。之前的版本没有任何JVM事件,因此使用设置文件配置它没有多大意义。
当JVM事件被添加到Hotspot时,文件格式已更新,因此它可以更好地支持Java Mission Control的配置,这意味着从JSON切换到XML。
修复是使用Oracle JDK的更高版本。