リソース集中メソッドの識別
リソース集中メソッドは、プログラムの実行全体のパフォーマンスに影響を与えます。「実行フロー」ビューおよび「メソッド呼び出し」ビューを使用すると、最適化の候補となるメソッドを簡単に識別することができます。
前提条件:
以下のいずれかの文が該当する場合、メソッドは最適化の候補になります。
- メソッドが必要以上に頻繁に呼び出されている。呼び出し回数を減らす、あるいは頻繁に使用されるメソッドに若干の改良を加えることで、パフォーマンスが改善される可能性があります。
- メソッドの実行時間が長い。最も実行時間の長いクラスを識別し、スタックで長時間を消費するこれらのメソッドを最適化することで、パフォーマンスが改善される可能性があります。この場合のメソッドは、実行中ではない場合もありますが、代わりにソートや代行などのタスクのために別のメソッドを呼び出している可能性があります。
呼び出し頻度の高いメソッドを見つける
呼び出し頻度の高いメソッドを見つける手順は、以下のとおりです。
- 「プロファイル・モニター」ビューで、モニターまたはエージェントのいずれかを選択します。
- 右クリックして、「アプリケーションから開く」>「実行フロー」と選択します。「実行フロー」ビューが開きます。
- 「ズームイン」ボタン
をクリックして、メソッド呼び出しのシーケンスを拡張します。
- このグラフィカル・ビューのメソッド名を右クリックして、「すべての繰り返しを検出」を選択します。繰り返されるパターンが存在する場所には、X が示されます。
- これらのエリアをズームインして、繰り返されるパターンと、メソッドの繰り返し回数を調べます。
実行時間の長いメソッドを見つける
実行時間の長いメソッドを見つける手順は、以下のとおりです。
- 「実行フロー」ビューで、各メソッドのストライプの長さを調べます。ストライプが長いほど、実行時間は長くなります。
- メソッドの詳細を調べるには、メソッドを選択して「メソッド呼び出し」ビューを開き、右クリックして、「メソッド呼び出しの表示」を選択します。「メソッド呼び出し」ビューが開きます。
- 「メソッド統計」ビューで、メソッドの呼び出し元の実行時間を調べるには、右クリックしてから「メソッド呼び出しの表示」を選択します。このビューでは、同一のメソッドが 1 つのラベル付き行として表現されます。
- ローカル・ツールバーから、「呼び出し元の表示」
をクリックして、ビュー内に選択したメソッドの呼び出し元を表示します。このボタンをクリックするごとに、呼び出しシーケンス内で 1 つ上位のメソッドが表示されます。
- メソッドを選択します。選択エリアの垂直方向の長さは、そのメソッドの基本時間を表します。ビューの右端にある垂直方向の時間目盛りを調べることで、このメソッドの実行時間を判別できます。状況表示行では、このメソッドの累積時間を参照できます。
プログラム実行をより広いビューで表示する
実行時間をより広いビューで表示する手順は、以下のようにします。
- 「プロファイル・モニター」ビュー内のモニターのポップアップ・メニューから、「アプリケーションから開く」>「実行フロー」と選択して、「実行フロー」ビューを開きます。
- このビューでは、「メソッド呼び出し」ビュー同様に、右側に垂直方向の時間目盛りがあります。
- 「ズームイン」
ボタンを使用して、ビュー内の特定のセクションを拡張し、調べたいメソッドを強調表示します。
- メソッド名 (またはその下の空白) をクリックして選択します。強調表示されたエリアの縦の長さは、そのメソッドの基本時間を表します。基本時間の正確な値は状況表示行に表示されます。
- 「ズームアウト」ボタン
を使用して、メソッドの強調表示されたエリアを表示可能にしたままの状態で (つまり、黄色い長方形のエリアが表示されたままの状態で)、プログラム全体のより大きな部分を表示することができます。実行が完全に表示されていない場合であっても、プログラム全体に関連してこのメソッドが消費する時間を判別することができます。
関連概念
プロファイル・ツールの概説
「実行フロー」ビューおよびテーブル
「統計」ビュー
関連タスク
アプリケーションのプロファイル
Java プロセスの起動または接続
ガーベッジ・コレクションの学習
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.