Java VisualVM - アプリケーションのプロファイリング

Java VisualVMでは、ローカル・アプリケーションやリモート・アプリケーションのデータは、そのアプリケーションに固有のタブ内に表示されます。アプリケーション・タブは複数個開くことができます。各アプリケーション・タブに含まれるサブタブには、アプリケーションに関するさまざまな種類の情報が表示されます。

アプリケーションのプロファイリング

アプリケーションの「Profiler」タブでは、ローカル・アプリケーションのプロファイル・セッションの開始と停止を行えます。プロファイル結果は「Profiler」タブ内に表示されます。ツールバーを使えば、プロファイル結果のリフレッシュ、ガベージ・コレクションの起動、およびプロファイル・データの保存を行えます。

デフォルトでは、アプリケーションのプロファイリングの準備が整うまでプロファイリング・ツールは実行されません。選択可能なプロファイル・オプションは、次のとおりです。

ユーザーがプロファイル・セッションを開始すると、Java VisualVMはローカル・アプリケーションに接続し、プロファイル・データの収集を開始します。プロファイル結果が使用可能になると、その結果が自動的に「Profiler」タブに表示されます。

ツールバーの使用

「Profiling results」のツールバーに含まれる次の各ボタンを使えば、プロファイル結果を操作できます。

プロファイル結果のフィルタリング

プロファイル結果の下にあるフィルタ・ボックスを使えば、表示される結果をメソッド名に従ってフィルタリングできます。結果をフィルタリングするには、メソッド名フィルタ・ボックスに用語を入力し、使用するフィルタリング方法を選択し、Returnキーを押します。以前のフィルタ用語を表示して選択するには、メソッド名フィルタ・ボックスの右側にある矢印をクリックします。

プロファイル設定の変更

Java VisualVMのプロファイリング・ツールには、アプリケーションのプロファイリングを行うためのデフォルト設定が用意されています。デフォルト設定を表示するには、「Profiler」タブの「Settings」チェックボックスにチェック・マークを付けます。進行中のプロファイル・セッションが存在しない場合にはプロファイル設定を変更できます。

CPUプロファイリング

このプロファイル・コマンドは、メソッド・レベルのCPUパフォーマンス(実行時間)に関する詳細データを返し、メソッドごとに合計実行時間と呼出し回数を表示します。アプリケーションのパフォーマンスを解析する場合、Java VisualVMはプロファイル対象アプリケーションのすべてのメソッドを計測します。スレッドは、メソッドに入るときに「メソッドの開始」イベントを出力し、メソッドを出るときに対応する「メソッドの終了」イベントを生成します。これらのイベントのどちらにも、タイムスタンプが含まれます。このデータはリアルタイムで処理されます。

CPUプロファイル結果が表示された「Profiler」タブのスクリーン・ショット

CPUプロファイリングが表示された「Profiler」タブのスクリーン・ショット

CPUプロファイル設定が表示された「Profiler」タブのスクリーン・ショット

CPUプロファイリングが表示された「Profiler」タブのスクリーン・ショット

メモリー・プロファイリング

メモリー使用量を解析する場合、Java VisualVMはロード済みクラスの計測を開始し、各クラス(配列クラスも含む)が割り当てたオブジェクトの合計数を表形式で表示します。プロファイル結果には、Java Virtual Machine (JVM)内に現在ロードされているクラスごとに、プロファイル・セッションの開始後に割り当てられたオブジェクトのサイズと数が表示されます。新しいオブジェクトが割り当てられたり新しいクラスがロードされたりすると、結果が自動的に更新されます。

Java VisualVMでは、オブジェクト数は絶対数として表示されるほか、パーセントとしても表示されます。各クラスによって割り当てられたバイトも、バイトのパーセントを表すグラフとして表示されるほか、合計バイト数としても表示されます。

メモリー・プロファイル結果が表示された「Profiler」タブのスクリーン・ショット

メモリー・プロファイリングが表示された「Profiler」タブのスクリーン・ショット

メモリー・プロファイル設定が表示された「Profiler」タブのスクリーン・ショット

メモリー・プロファイル設定が表示された「Profiler」タブのスクリーン・ショット

プロファイラ・スナップショットの取得

Java VisualVMでは、プロファイル・セッションの結果を取得するためにプロファイラ・スナップショットを取ることができます。プロファイラ・スナップショットでは、その時点における結果が取得されます。スナップショットを取るには、プロファイル・セッションの進行中にツールバーの「Take Snapshot of Collected Results」ボタンをクリックします。スナップショットを取ると、そのスナップショットがアプリケーション・タブ内の1つのタブとして開かれます。また、このスナップショットのノードも、「Applications」ウィンドウのアプリケーション・ノードの下に表示されます。

メモリー・プロファイリング・スナップショットのスクリーン・ショット

メモリー・プロファイリング・スナップショットのスクリーン・ショット

CPUプロファイリング・スナップショットのスクリーン・ショット

CPUプロファイリング・スナップショットのスクリーン・ショット

プロファイラ・スナップショットの詳細については、次のドキュメントを参照してください。


Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.