起動時のプロファイリング設定の設定
プロファイリングエージェントが記録を開始する前に、プロファイリング設定を設定する必要があります。これは、JProfiler UI に接続するときに行われます。場合によっては、プロファイリングエージェントが起動時にプロファイリング設定を知っている必要があります。主なユースケースは次のとおりです。
オフラインプロファイリング
トリガーまたは API を使用してデータを記録し、スナップショットを保存します。このモードでは JProfiler GUI は接続できません。詳細については、オフラインプロファイリングに関するヘルプトピックを参照してください。ヘッドレスマシンでの jpcontroller を使用したプロファイリング
コマンドラインユーティリティ jpcontroller を使用して、JProfiler GUI の代わりにデータを記録し、スナップショットをインタラクティブまたは非インタラクティブなコマンドファイルで保存できます。ただし、jpcontroller にはプロファイリング設定を構成する機能がないため、事前に設定しておく必要があります。古い OpenJ9 および IBM JVM へのリモートアタッチ
8u281、11.0.11、および Java 17 より前の古い OpenJ9 および IBM JVM では、プロファイルされたプロセスの安定性を危険にさらすことなくクラスを再定義する機能がないため、プロファイリング設定を起動時に設定する必要があります。JProfiler のリモート統合ウィザードの「Profiled JVM」ステップでは、JVM のタイプを尋ねられ、古い OpenJ9 および IBM JVM を選択すると、以下で説明するオプションがウィザードに追加されます。
一般に、起動時にプロファイリング設定を設定することは、最も効率的な操作モードです。なぜなら、クラスの再定義の数が最小限に抑えられるからです。利便性の低下が問題でない場合、あらゆる種類のプロファイリングセッションに使用できます。
起動時のプロファイリング設定の設定
統合ウィザードを使用する場合は、「ローカルまたはリモート」ステップで リモートコンピュータ上 オプションを選択し、「設定同期」ステップで 起動時に設定を適用 オプションを選択します。ウィザードは、以下の段落で説明するのと同じオプションを追加します。
プロファイリングエージェントをロードするために起動スクリプトに -agentpath
VM パラメータを追加した場合、プロファイリング設定は次のように追加することで設定できます。
,config=<設定ファイルへのパス>,id=<セッション ID>
-agentpath
パラメータの完全なパラメータは次のようになります。
-agentpath:/path/to/libjprofilerti.so=port=8849,nowait,config=/path/to/config,id=123
プロセスが開始された後にプロファイリングエージェントをロードするために を使用する場合、インタラクティブな実行で オフラインモード
を選択し、そこで設定と ID を指定できます。あるいは、非インタラクティブな実行のために
jpenable
--offline
、--config
、--id
引数を渡します。
設定ファイルの準備
参照される設定ファイルは、現在のマシン上の JProfiler インストールの設定ファイルである可能性があり、その場合、設定パラメータを指定する必要はありません。JProfiler の設定ファイルは
$HOME/.jprofiler15/jprofiler_config.xml
または
%USERPROFILE%\.jprofiler15\jprofiler_config.xml
にあり、-agentlib
VM パラメータの
config
オプションのデフォルトです。
多くの場合、自動プロファイリングは別のマシンで実行され、ローカルの JProfiler 設定ファイルを参照することはできません。その場合、ローカルマシン上の JProfiler UI でプロファイリング設定を含むセッションを準備し、セッション→セッション設定のエクスポート を介してエクスポートし、JProfiler が実行されているマシンに転送できます。
セッション ID は、セッション設定ダイアログの「アプリケーション設定」タブの右上隅に表示されます(以下のスクリーンショットを参照)。エクスポートされたファイルにセッションが 1
つしか含まれていない場合、id
パラメータを指定する必要はありません。
設定ファイルの同期
初期設定を完了した後、将来のプロファイリング実行のためにプロファイリング設定を調整したい場合があります。これには、設定ファイルをリモートマシンにコピーする必要があります。
JProfiler のリモートセッションには、「設定同期」機能があり、このプロセスを自動化できます。
セッションが SSH 経由で開始された場合、設定ファイルを SSH 経由で直接リモートマシンにコピーできます。それ以外の場合でも、設定ファイルをローカルディレクトリにコピーし、それをリモートマシンにマウントすることができます。最後に、任意のコマンドを実行して、他の手段で設定ファイルをコピーすることができます。