![]() 前 |
![]() 次 |
デフォルトでは、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