1

CATALINA_OPTS に追加-XX:+FlightRecorderすると、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.

からの完全な CATALINA_OPTS は次の/usr/share/tomcat8/bin/setenv.shとおりです。

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 でも試してみましたが、同じ結果が得られました。

Tomcat で Flight Recorder を有効にするためにインターネット上のチュートリアルに従っているだけなので、何が間違っているのかわかりません。私にはすべてが正しく見えます。

これは、Tomcat 8 を搭載した 64 ビット CentOS 6.4 ボックスにあります。

4

1 に答える 1

4

Flight Recorder は、記録中に一時データを格納するリポジトリ ディレクトリを作成しようとします。

ベース ディレクトリは、システム プロパティjava.io.tmpdirが指すディレクトリです。何らかの理由で、Java プロセスがそこにあるディレクトリにアクセスしたり作成したりできません。おそらく、Java プロセスに特権がありませんか?

于 2015-09-18T19:33:07.070 に答える