Skip Headers
前
 
次

Java Flight Recorderの有効化

デフォルトでは、JFRはJVMで無効になっています。JFRを有効にするには、-XX:+FlightRecorderオプションを使用してJavaアプリケーションを起動する必要があります。JFRはJava Platform, Standard Edition (Oracle Java SE AdvancedおよびOracle Java SE Suite)に基づく市販パッケージ内でのみ使用可能な市販の機能であるため、-XX:+UnlockCommercialFeaturesオプションを使用して市販機能を有効にする必要もあります。

たとえば、MyAppというJavaアプリケーションの起動時にJFRを有効にするには、次のコマンドを使用します。

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder MyApp

また、(JDK 8u40以降を使用する場合)JMC自身内から実行時にJFRを有効化できます。新規フライト記録の開始時に、これを示すダイアログ・ボックスが表示されます。

Commercial Features are not enabled in the JVM. To start a Flight Recording, you need to enable Commercial Features. Do you want to do that now?

「はい」をクリックして、これらの機能を有効化します。

JavaScript実装のNashornなどのJVMでラムダ形式に依存している代替言語を実行する場合、スタック・トレースの深度をかなり深くすることができます。確実に大量のスタックを含むスタック・トレースを正しくサンプリングするには、フライト・レコーダ・スタックの深度を増やす必要がある場合があります。その値を1024に設定すれば、通常十分です。

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=stackdepth=1024 MyApp