インテル® VTune™ Amplifier 2018 ヘルプ

タスク解析

特定のコード領域でプログラムの機能を実行する、タスクに注目してパフォーマンス解析を行います。

インテル® VTune™ Amplifier を使用して次のタイプのタスクを解析します。

タスク解析を有効にする

必要条件:

  1. インテル VTune™ Amplifier ツールバーの [New Analysis (新規解析)] ボタン (スタンドアロン GUI)/ (Visual Studio* IDE) をクリックします。

    [Analysis Type (解析タイプ)] 設定ウィンドウが開きます。

  2. 左ペインの解析ツリーから必要な解析タイプを選択します。

  3. 右のペインで、[Analyze user tasks, events, and counters] オプションを選択します。

  4. 右にある [Start (開始)] ボタンをクリックして解析を実行します。

    インテル® VTune™ Amplifier は、マークされたタスクのデータを収集します。

時間経過におけるアプリケーションのパフォーマンスに対するタスク領域と存続期間を特定するため、収集結果を解析します。

ユーザータスク解析で示されるデータを解釈するため、次のステップに従います。

最もクリティカルなタスクを特定

収集されたデータの [Summary (サマリー)] ウィンドウで、多くの時間を実行するタスクのリストが示される [Top Tasks (上位のタスク)] セクションから調査を始めます。

Ftrace*/Atrace* でイベントを選択してシステム全体またはカスタム解析を使用して Ftrace*/Atrace* タスクのデータを収集する場合、[Summary] ウィンドウでは低速なタスクを特定するのに有用な [Task Duration Histogram (タスク期間ヒストグラム)] を提供されます。

異なるタスク間で切り替えを行い、それらの存続期間を解析するには、[Task Type (タスクタイプ)] ドロップダウン・リストを使用します。タスクの存続期間向けに設定したしきい値を基に、選択したタスクの存続期間が許容できるか低速であるかを判断できます。

関数ごとに低速なタスクを解析

[Top Tasks] セクションでタスクタイプをクリックして、[Task Type] の粒度でグループ化されたグリッド表示に切り替えます (例: [Bottom-up (ボトムアップ)] または [Event Count (イベントカウント)])。[Summary] ウィンドウで選択されたタスクがハイライト表示されます。例えば、並行性解析で収集された ITT API タスクでは、[Bottom-up] グリッド表示は [Task Type/Function/Call Stack (タスクタイプ/関数/コールスタック)] でグループ化されます。

上の例では、func2_task タスクが最も長い存続時間 (3.002 秒) を持ちます。このタスクが属する関数を確認するため、ノードを拡張表示することもできます。ソース表示でソースコードを解析するには、関数をダブルクリックします。

システム全体の解析で収集された Ftrace*/Atrace* タスクでは、[Task Type/Task Duration Type/Function/Call Stack (タスクタイプ/タスク期間/関数/コールスタック)] の粒度を選択して、低速なインスタンスが実行されている間に実行された関数を調査します。関数をダブルクリックしてソースコードを開き、最も時間を消費するソース行を解析します。

スレッドごとにタスクを解析

各タスクの存続期間を解析するには、[Timeline (タイムライン)] 表示を調査します。

ユーザータスクは、タイムライン上に黄色のマーカーで示されます。マーカーにマウスをホバーすると、タスク実行の詳細が現れます。上の例では、func2_task はスレッド threadstartex (TID: 8684) で実行されるアプリケーションの 3.4 秒から開始され、3.002 秒間実行されています。

プラットフォーム全体のメトリックを収集した場合、[Platform (プラットフォーム)] ウィンドウに切り替えて特定のタスクを実行するスレッドを特定します。各タスクは、異なるレイヤーとして [Thread (スレッド)] セクションに表示されます。

Ftrace*/Atrace* タスクでは、[Timeline] 表示は [Slow Tasks (低速のタスク)] マーカーを有効にするオプションが提供し、これにより低速なタスクが実行されている瞬間の CPU 使用率、GPU 使用、および消費電力を調査できます。

スレッド上で並列に複数のタスクが実行されている場合、タスクのスタックが表示されます。

関連情報