1

我正在尝试为托管在 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**

请建议是否有人对此有任何想法。提前致谢。

4

1 回答 1

0

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

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

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

于 2018-03-26T12:59:58.513 回答