在 Tomcat 中启用飞行记录器导致 "Error when initializing JFR"
Enabling Flight Recorder in Tomcat causes "Error when initializing JFR"
将 -XX:+FlightRecorder
添加到我的 CATALINA_OPTS 导致我的 catalina.out 日志中出现此错误:
Error when initializing JFR. JFR will be deactivated.
java.lang.Exception: Unable to create JFR repository directory using base location (/var/cache/tomcat6/temp).
at oracle.jrockit.jfr.Repository.create(Repository.java:62)
at oracle.jrockit.jfr.Repository.<init>(Repository.java:26)
at oracle.jrockit.jfr.JFRImpl.<init>(JFRImpl.java:108)
at oracle.jrockit.jfr.VMJFR.<init>(VMJFR.java:55)
at oracle.jrockit.jfr.VMJFR.create(VMJFR.java:393)
at oracle.jrockit.jfr.JFR.init(JFR.java:91)
Error occurred during initialization of VM
Failed to start tracing backend.
这是 /usr/share/tomcat8/bin/setenv.sh
的完整 CATALINA_OPTS:
export CATALINA_OPTS="-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=10.202.210.173 \
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder"
如果我只启用 -XX:+UnlockCommercialFeatures
参数,tomcat 实例不会崩溃,但是一旦我启用 FlightRecorder,它就会崩溃。我也用 JAVA_OPTS 试过了,我得到了同样的结果。
我只是按照 Internet 上的教程为 Tomcat 启用飞行记录器,所以我真的不知道自己做错了什么。一切对我来说都是正确的。
这是在 64 位 CentOS 6.4 机器上,Tomcat 8。
Flight Recorder 尝试创建存储库目录以在记录时存储临时数据。
基目录是系统属性java.io.tmpdir指向的目录。出于某种原因,Java 进程无法访问或创建目录。也许 Java 进程没有权限?
将 -XX:+FlightRecorder
添加到我的 CATALINA_OPTS 导致我的 catalina.out 日志中出现此错误:
Error when initializing JFR. JFR will be deactivated.
java.lang.Exception: Unable to create JFR repository directory using base location (/var/cache/tomcat6/temp).
at oracle.jrockit.jfr.Repository.create(Repository.java:62)
at oracle.jrockit.jfr.Repository.<init>(Repository.java:26)
at oracle.jrockit.jfr.JFRImpl.<init>(JFRImpl.java:108)
at oracle.jrockit.jfr.VMJFR.<init>(VMJFR.java:55)
at oracle.jrockit.jfr.VMJFR.create(VMJFR.java:393)
at oracle.jrockit.jfr.JFR.init(JFR.java:91)
Error occurred during initialization of VM
Failed to start tracing backend.
这是 /usr/share/tomcat8/bin/setenv.sh
的完整 CATALINA_OPTS:
export CATALINA_OPTS="-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=9090 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=10.202.210.173 \
-XX:+UnlockCommercialFeatures -XX:+FlightRecorder"
如果我只启用 -XX:+UnlockCommercialFeatures
参数,tomcat 实例不会崩溃,但是一旦我启用 FlightRecorder,它就会崩溃。我也用 JAVA_OPTS 试过了,我得到了同样的结果。
我只是按照 Internet 上的教程为 Tomcat 启用飞行记录器,所以我真的不知道自己做错了什么。一切对我来说都是正确的。
这是在 64 位 CentOS 6.4 机器上,Tomcat 8。
Flight Recorder 尝试创建存储库目录以在记录时存储临时数据。
基目录是系统属性java.io.tmpdir指向的目录。出于某种原因,Java 进程无法访问或创建目录。也许 Java 进程没有权限?