ロックと待機の解析結果の解釈

ロックと待機の解析は、プログラムで異なるコード要素の同期を待機している場所と利用可能な論理プロセッサーの使用率を示します。

ロックと待機の解析で提供されるパフォーマンス・データを解釈するには、次の操作を行います。

  1. アプリケーション中のロックと待機を特定します。

    パフォーマンスに重大な影響を与える同期オブジェクトは、[Bottom-up (ボトムアップ)] ペインで確認できます。一概にはいえませんが、通常は、これといった特徴のないスレッドがまれにオブジェクトを長時間待機していることがあります。待機時間が長く、待機カウントの多いオブジェクト (特に、CPU 使用率が Poor (低) のもの) を重点的にチューニングすることを推奨します。

    デフォルトでは、同期オブジェクトは Poor (低) プロセッサー使用率でソートされています。最もクリティカルな同期オブジェクトが最初に表示されます。[Wait Time (待機時間)] 列見出しで ボタンをクリックすると、列を展開して CPU 使用率タイプごとの時間分布を確認できます。各使用率タイプの見出しを右クリックして [Set Column as Data of Interest (列を特定のデータに設定)] を選択すると、その列の値をほかのビューで計算 (例えば、[Call Stack (コールスタック)] ペインのスタックの割合) に使用できます。

    以下の例では、Poor (低) 使用率が [Data of Interest (特定のデータ)] に設定され、この列でデータがソートされています。

    待機時間が最も長い同期オブジェクト (バー形式の場合は赤いバーが最も長いもの) の待機時間をなくすか、最小限に抑えます。

  2. アルゴリズムの問題を特定します。

    アプリケーションの呼び出しシーケンスに問題があることがあります。この場合、アプリケーションで関数を呼び出す方法を変更することで、パフォーマンスを向上できます。問題の可能性のある箇所を調べるには、次のような方法があります。

    • [Top-down Tree (トップダウン・ツリー)] ペイン

    • [Call Stack (コールスタック)] ペイン

    [Top-down Tree (トップダウン・ツリー)] ペインをクリックして、予期しない合計時間の待機があるかどうか確認します。

    [Call Stack (コールスタック)] ペインでは、[Bottom-up (ボトムアップ)] / [Top-down Tree (トップダウン・ツリー)] ペインで選択した同期オブジェクトのスタックのうち最も割合の高いものが表示されます。ナビゲーション・ボタン を使用して、選択した同期オブジェクトを呼び出したスタックの表示を切り替えることができます。バーは、選択した同期オブジェクトで費やされた合計時間に対する現在表示されているスタックの割合を示しています。

    [Call Stack (コールスタック)] ペインのドロップダウン・リストを使用して、異なるスタックのデータを表示することもできます。

  3. 次のステップ
    • 最も時間を費やしている同期オブジェクトをダブルクリックして、[Source/Assembly (ソース/アセンブリー)] ウィンドウでコードを表示します。インテル(R) VTune(TM) Amplifier XE から直接コードエディターを開き、コードを編集できます。
    • 比較解析では、最適化によるパフォーマンスの向上を評価できます。

関連項目


このヘルプトピックについてのフィードバックを送信
 
最新のインテル(R) VTune(TM) Amplifier XE 2011 のヘルプをダウンロード
 

(C) 2010 Intel Corporation. 無断での引用、転載を禁じます。