IntelliJ IDEA 2020.3 ヘルプ

プロファイラーで実行

プロファイラーを使用してメソッドを実行する

  • プロファイリングするメソッドの横にあるガターの the Run button アイコンをクリックし、必要なプロファイリングオプション(CPUメモリ、または Java フライトレコーダー)を選択します。

    run with profiler

実行構成のプロファイル

現時点では、最も一般的な実行構成のプロファイルを作成できます。ローカルの Tomcat 実行 / デバッグ構成を除いて、アプリケーションサーバーの実行構成は現在サポートされていません。

  1. ツールバーのリストから実行構成を選択します。

    リストが空であるか、必要な構成がまだ作成されていない場合は、リストを作成する方法について実行 / デバッグ構成を参照してください。

  2. Profiler の横にある Icons actions move down をクリックし、必要なプロファイリングオプション(CPUメモリ、または Java フライトレコーダー)を選択します。

    Profiling a run configuration

(Linux 上の非同期プロファイラーの場合のみ)プロファイラーの最初の起動時に、IntelliJ IDEA はカーネル変数がすでに設定されているかどうかを確認し、必要な変更を提案します。

adjust linux kernel variables for the profiler

プロファイル Maven のゴール

IntelliJ IDEA では、いくつかのゴールをプロファイリングできます。

  1. メインメニューから表示 | ツールウィンドウ | Maven を選択します。

  2. Maven ツールウィンドウで、プロファイリングするゴールを右クリックし、必要なプロファイリングオプション(CPUメモリ、または Java フライトレコーダー)を選択します。

    Profiling a Maven goal

    IntelliJ IDEA は、保存して後で再実行できる一時的な実行構成を作成します。

必要なゴールの Maven 実行 / デバッグ構成がすでにある場合は、他の実行構成と同じ方法でプロファイルを作成できます。

制限

現在、Maven のゴールのプロファイリングにはいくつかの制限があります。

  • IntelliJ IDEA のプロファイリングツールは、Maven プロファイル、実行、バージョンをサポートしていません。そのため、一部の複雑な構成ではプロファイルが正しく行われない場合があります。

  • 上記のゴールの特定のバージョンのプロファイリングはサポートされていません(例: org.codehaus.mojo:exec-maven-plugin:3.0.0:exec)。

  • 実行中に複数のプロセスが作成されるように構成されている場合、ゴールをプロファイリングすることはできません。

  • exec:execsurefire:testfailsafe:integration-test ゴールのプロファイリングは、モジュールのないプロジェクトでのみ可能です。ただし、サブモジュールがない場合は、特定のモジュールをプロファイリングできます。

  • プラグイン構成に特定の引数がある場合、プロファイリングはできません。

    • exec:exec プラグイン構成の commandlineArgs

    • surefire:test および failsafe:integration-test プラグイン構成の debugForkedProcess

  • Exec Maven プラグイン構成の pom.xml<arguments> がある場合、exec:exec ゴールの実行中に <arguments> の値はスキップされます。

実行中のプロセスにプロファイラーをアタッチする

  1. メインメニューから表示 | ツールウィンドウ | プロファイラーを選択します。

    プロファイラーツールウィンドウに、実行中のプロセスのリストが表示されます。

  2. 必要なプロセスをクリックして、プロファイリングタイプ(CPUメモリ、または Java フライトレコーダー)を選択します。

    Attaching Java Flight Recorder to a process

プロファイリングを停止して結果を得る

プロファイリングデータの準備ができると、プロファイラーツールバーウィンドウとともに確認ポップアップが表示されます。このバーをクリックしてプロファイラーツールウィンドウを開くか、ツールウィンドウバーを使用しない場合は表示 | ツールウィンドウ | プロファイラーに移動します。

Profiler popup informing that the data is ready

または、表示 | ツールウィンドウ | プロファイラーに移動し、Java Flight Recorder が十分なデータを収集するのを待ってから、プロファイリングの停止と結果の表示をクリックします。

Getting the profiling results

分析が終了したら、レポートを確認して分析できます。

関連ページ:

非同期プロファイラー

非同期プロファイラーは、アプリケーションの JVM レベルのパラメーターを監視して、アプリケーションの実行方法と、メモリと CPU リソースの割り当て方法を正確に把握します。このデータは、パフォーマンスの問題とボトルネックを見つけて解決できます。非同期プロファイラーでは、スタックをサンプリングするためにスレッドが安全なポイントにある必要はありません。つまり、セーフポイントバイアスの問題を回避できます。さらに、プロファイラーは Flame グラフサポートを備えており、スタックトレースを視覚化できます...

Java フライトレコーダー

Java フライトレコーダー(JFR)は、アプリケーションの実行中に Java 仮想マシン内の特定の瞬間のイベント(データ)に関する情報を収集する監視ツールです。Java Flight Recorder は、次の JDK ビルドでネイティブにサポートされています。Oracle JDK 8-10:VM オプションが有効になっている場合、Oracle JDK11 以降、OpenJDK11 以降、Oracle JDK 8 以降で JFR を有効にするメインメニューからを選択し、左側のリストから、JFR...

実行 / デバッグ構成

IntelliJ IDEA は、実行 / デバッグ構成を使用して、アプリケーションを実行、デバッグ、テストします。実行 / デバッグ構成は、プログラムの実行に使用される VM オプションや JRE などの一連の起動プロパティを表します。実行 / デバッグ構成には 2 つのタイプがあります。一時的–永続的な構成を持たないクラスを実行しているときに作成されます。これは、メソッドを持つクラスの実行を可能にする最低限のものを提供します。一時構成は、その数が最大数を超えると削除されます。永続的–テンプレー...