IntelliJ IDEA 2020.2ヘルプ

非同期プロファイラー

非同期プロファイラー(英語)は、アプリケーションのJVMレベルのパラメーターを監視して、アプリケーションの実行方法と、メモリとCPUリソースの割り当て方法を正確に把握します。このデータは、パフォーマンスの問題とボトルネックを見つけて解決できます。

非同期プロファイラーでは、スタックをサンプリングするためにスレッドが安全なポイントにある必要はありません。つまり、セーフポイントバイアスの問題を回避できます。さらに、プロファイラーはFlame グラフ(英語)サポートを備えており、スタックトレースを視覚化できます。

Async Profiler

Linuxでプロファイラーの使用を開始する前に、カーネルオプションを調整します。macOSでは、プロファイラーはそのまま使用できます。

Linuxでのカーネルオプションの調整

  1. perf_event_paranoidを調整します。このオプションは、非rootユーザーによるパフォーマンスイベントデータの使用を制御します。

    プロファイラーがルート権限なしでパフォーマンス情報を収集できるようにするには、値を2未満に設定します。

    sudo sh -c 'echo 1 >/proc/sys/kernel/perf_event_paranoid'
  2. kptr_restrictを調整します。このオプションは、カーネルアドレスの公開に関する制限を設定します。

    カーネルシンボルを適切に解決するには、値を0に設定してkptr_restrictが提供する保護を無効にします。

    sudo sh -c 'echo 0 >/proc/sys/kernel/kptr_restrict'

デフォルトでは、これらの変更は現在のOSセッションにのみ影響します。システムを再起動して設定を保持するには、次のコマンドを実行します。

sudo sh -c 'echo kernel.perf_event_paranoid=1 >> /etc/sysctl.d/99-perf.conf' sudo sh -c 'echo kernel.kptr_restrict=0 >> /etc/sysctl.d/99-perf.conf' sudo sh -c 'sysctl --system'

プロファイラーの構成

IntelliJ IDEAには、事前定義された2つの非同期プロファイラー構成があります。設定/環境設定 | ビルド、実行、デプロイ | Java プロファイラーにあるCPUプロファイラーとメモリ割り当てプロファイラーです。

Configuring CPU profiler configuration

これらの構成は、最も正確な結果を提供するように調整されているため、変更する必要はありません。ただし、設定の値は変更できます。

プロファイリング構成を変更する

  1. 設定/環境設定ダイアログ Ctrl+Alt+Sで、ビルド、実行、デプロイ | Java プロファイラーを選択します。

  2. 定義済みのCPUまたはメモリのプロファイリング構成のいずれかを選択するか、the Add buttonをクリックしてテンプレート構成をコピーします。

  3. エージェントのオプションフィールドの値を変更し、変更を適用します。詳細については、GitHubの非同期プロファイラー(英語)を参照してください。

非同期プロファイラーでアプリケーションをプロファイリングする

GradleおよびネイティブIntelliJ IDEAビルドツールでビルドされたプロジェクトのプロファイラーを実行できます。Mavenを使用する場合、プロファイリングデータを取得するためにネイティブIntelliJ IDEAランナーでアプリケーションを実行できます。

次のオプションのいずれかを使用して、アプリケーションを分析します。

  • ツールバーの Profiler をクリックして(またはガターの the Run button アイコンをクリックして)「プロファイラー構成名」を指定して「実行構成名」を実行します。を選択します。

    run with profiler

  • メインメニューから実行 | プロファイラーで実行を選択し、必要な構成(「構成名」で「構成名の実行」を実行する)を選択します。

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

    adjust linux kernel variables for the profiler

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

Profiler popup informing that the data is ready

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

最終更新日: 2020年5月08日