カスタムプロファイラー構成
CPU および割り当てプロファイリングの場合、IntelliJ IDEA は次のプロファイラーとの統合を提供します。
Java Flight Recorder – JDK の一部として提供される標準のプロファイリングツール。
非同期プロファイラー – ネイティブコールおよびメモリ割り当てデータも収集できる非常に正確なプロファイラー。
デフォルトでは、IntelliJ IDEA は両方のプロファイラーを並行して実行して、最も正確な結果を提供します。 サポートされているプロファイラーを個別に使用することもできますが、ほとんどのシナリオでは、すぐに使用できる組み合わせ構成の方が適しています。 このアプローチでは、両方のプロファイラーの利点を活用し、非常に特殊な要件がない限り、セットアップを一切不要にします。
非同期プロファイラー および Java Flight Recorder 構成では、これらのツールを個別に実行し、特定の要件に従って微調整することができます。 このトピックでは、これらの構成と環境をセットアップする方法について説明します。
別のプロファイラー構成を作成する
に移動します。
新規構成の追加 をクリックして、プロファイラーを選択します。
必要に応じてプロファイラーオプションを変更します。
オプションの意味と目的については、それぞれ 非同期プロファイラーと Java Flight Recorder の章を参照してください。
非同期プロファイラー
Windows および macOS では、プロファイラーはそのまま使用できます。 Linux の場合は、プロファイリングを開始する前にカーネルオプションを調整する必要があります。
Linux でのカーネルオプションの調整
perf_event_paranoid を調整します。 このオプションは、非 root ユーザーによるパフォーマンスイベントデータの使用を制御します。
プロファイラーがルート権限なしでパフォーマンス情報を収集できるようにするには、値を 2 未満に設定します。
sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'kptr_restrict を調整します。 このオプションは、カーネルアドレスの公開に関する制限を設定します。
カーネルシンボルを適切に解決するには、値を 0 に設定して、 kptr_restrict によって提供される保護を無効にします。
sudo sh -c 'echo 0 >/proc/sys/kernel/kptr_restrict'
デフォルトでは、これらの変更は現在の OS セッションにのみ影響します。 システムを再起動して設定を保持するには、次のコマンドを実行します。
構成オプション
オプション | 説明 |
|---|---|
エージェントオプション | エージェントに渡されるオプション。 これらは、たとえば、壁掛けウォッチのプロファイリングを有効にしたり、サンプリング間隔を調整したりするために使用できます。 |
エージェント | プロファイリングに使用されるエージェント。 |
Java Flight Recorder
Java Flight Recorder は、Windows、Linux、macOS で利用できます。 次の JDK ビルドでネイティブにサポートされています:
Oracle JDK 8-10:
UnlockCommercialFeaturesVM オプションが 有効になっている場合Oracle JDK11 以降
OpenJDK11 以降
Oracle の JFR を有効にする JDK 8-11
メインメニューで に移動し、左側のリストから JFR で分析する実行構成を選択します。
VM オプション フィールドに、次の行を追加します:
-XX:+UnlockCommercialFeatures変更を適用して、ダイアログを閉じます。

JFR 構成
2 つの事前にインストールされた構成があります: デフォルト と プロファイル。 デフォルト 構成はオーバーヘッドが低く(約 1%)、 そのため、継続的なプロファイリングに適しています。 プロファイル 構成はオーバーヘッドが約 2% で、より詳細なアプリケーション プロファイリングに使用できます。
これらの構成は、ほとんどのユースケースをカバーしています。 で最適な構成を選択できます。
事前定義された構成がニーズを満たさない場合は、 Java Mission Control を使用して独自の設定を作成およびアップロードできます。
カスタム JFR 構成を作成する (オプション)
JAVA_HOME/bin/jmc または https://jdk.java.net/jmc/(英語) からダウンロードできる Java Mission Control を実行します。
Java Mission Control のメインメニューから、 を選択します。
右側のパネルで ファイルのインポート をクリックし、 .jfc 形式の事前インストール済み構成のいずれかを選択します。
Java 10 以前の場合: JAVA_HOME/jre/lib/jfr/
Java 11 以降の場合: JAVA_HOME/Contents/Home/lib/jfr/
を選択し、必要な設定を変更して、 OK をクリックします。
フライト記録テンプレートマネージャー ダイアログで、 ファイルのエクスポート をクリックします。
新しい設定ファイルに別の名前を指定し、必要に応じてその場所を変更します。 保存する をクリックします。
カスタム設定の構成の詳細については、「テンプレートを使用して記録データを制御する(英語) 」を参照してください。
IDE にカスタム構成をロードする (オプション)
設定 ダイアログ(Ctrl+Alt+S )で、 を選択します。
をクリックして、カスタム設定をロードする Java Flight Recorder プロファイリング構成を選択するか、新しい構成を作成します。
プロファイリング設定 領域で、 カスタム設定ファイル オプションを選択し、
をクリックします。
カスタム設定ファイルへのパスを指定し、 開く をクリックします。
変更を適用して、ダイアログを閉じます。