プロファイラーで実行
プロファイラーを使用してメソッドを実行する
プロファイリングするメソッドの横にあるガターの
アイコンをクリックし、必要なプロファイリングオプション(CPU、メモリ、または Java フライトレコーダー)を選択します。
実行構成のプロファイル
現時点では、最も一般的な実行構成のプロファイルを作成できます。ローカルの Tomcat 実行 / デバッグ構成を除いて、アプリケーションサーバーの実行構成は現在サポートされていません。
ツールバーのリストから実行構成を選択します。
リストが空であるか、必要な構成がまだ作成されていない場合は、リストを作成する方法について実行 / デバッグ構成を参照してください。
の横にある
をクリックし、必要なプロファイリングオプション(CPU、メモリ、または Java フライトレコーダー)を選択します。
(Linux 上の非同期プロファイラーの場合のみ)プロファイラーの最初の起動時に、IntelliJ IDEA はカーネル変数がすでに設定されているかどうかを確認し、必要な変更を提案します。

プロファイル Maven のゴール
IntelliJ IDEA では、いくつかのゴールをプロファイリングできます。
Maven フェイルセーフプラグイン (英語) :
failsafe:integration-test
Maven Surefire プラグイン (英語) :
surefire:test
Exec Maven プラグイン (英語):
exec:exec
およびexec:java
exec:java
には必ずmainClass
引数を指定してください。これは、pom.xml または対応する実行 / デバッグ構成のコマンド行フィールドで実行できます。詳細については、Exec Maven プラグインのドキュメント(英語)を参照してください。
メインメニューから
を選択します。Maven ツールウィンドウで、プロファイリングするゴールを右クリックし、必要なプロファイリングオプション(CPU、メモリ、または Java フライトレコーダー)を選択します。
必要なゴールの Maven 実行 / デバッグ構成がすでにある場合は、他の実行構成と同じ方法でプロファイルを作成できます。
制限
現在、Maven のゴールのプロファイリングにはいくつかの制限があります。
IntelliJ IDEA のプロファイリングツールは、Maven プロファイル、実行、バージョンをサポートしていません。そのため、一部の複雑な構成ではプロファイルが正しく行われない場合があります。
上記のゴールの特定のバージョンのプロファイリングはサポートされていません(例:
org.codehaus.mojo:exec-maven-plugin:3.0.0:exec
)。実行中に複数のプロセスが作成されるように構成されている場合、ゴールをプロファイリングすることはできません。
exec:exec
、surefire:test
、failsafe:integration-test
ゴールのプロファイリングは、モジュールのないプロジェクトでのみ可能です。ただし、サブモジュールがない場合は、特定のモジュールをプロファイリングできます。プラグイン構成に特定の引数がある場合、プロファイリングはできません。
exec:exec
プラグイン構成のcommandlineArgs
surefire:test
およびfailsafe:integration-test
プラグイン構成のdebugForkedProcess
Exec Maven プラグイン構成の pom.xml に
<arguments>
がある場合、exec:exec
ゴールの実行中に<arguments>
の値はスキップされます。
実行中のプロセスにプロファイラーをアタッチする
メインメニューから
を選択します。プロファイラーツールウィンドウに、実行中のプロセスのリストが表示されます。
必要なプロセスをクリックして、プロファイリングタイプ(CPU、メモリ、または Java フライトレコーダー)を選択します。
プロファイリングを停止して結果を得る
プロファイリングデータの準備ができると、プロファイラーツールバーウィンドウとともに確認ポップアップが表示されます。このバーをクリックしてプロファイラーツールウィンドウを開くか、ツールウィンドウバーを使用しない場合は に移動します。

または、プロファイリングの停止と結果の表示をクリックします。
に移動し、Java Flight Recorder が十分なデータを収集するのを待ってから、
分析が終了したら、レポートを確認して分析できます。
関連ページ:

非同期プロファイラー
非同期プロファイラーは、アプリケーションの 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 つのタイプがあります。一時的–永続的な構成を持たないクラスを実行しているときに作成されます。これは、メソッドを持つクラスの実行を可能にする最低限のものを提供します。一時構成は、その数が最大数を超えると削除されます。永続的–テンプレー...