Oracle® Solaris Studio 12.4: パフォーマンスアナライザチュートリアル

印刷ビューの終了

更新: 2014 年 12 月
 
 

クロックプロファイリングデータの調査

このセクションでは、「概要」ページと「関数」ビューを「呼び出し元/呼び出し回数」パネルとともに使用してクロックプロファイリングデータを調査します。

  1. 「概要」ページで、3 つの HW カウンタメトリックのチェックボックスを選択解除し、「CPU 時間合計」チェックボックスのみを選択したままにします。

  2. 「関数」ビューに移動し、「包括的 CPU 合計」の列見出しを 1 回クリックし、包括的 CPU 合計時間に従ってソートします。

    この時点で、関数 do_work() がリストの先頭にあります。

    image:パフォーマンスアナライザの「関数」ビュー
  3. do_work() 関数を選択し、「関数」ビューの下部にある「呼び出し元/呼び出し回数」パネルに注目します。

    do_work()は 2 つの場所から呼び出され、10 個の関数を呼び出します。

    do_work() が呼び出す 10 個の関数は 10 個の異なるタスクを表し、プログラムが実行した同期メソッドは関数ごとに異なります。mttest で作成される一部の実験では、わずかな時間を使用してほかのタスクからワークブロックをフェッチする 11 番目の関数が記録されることがあります。この関数はスクリーンショットには示されていません。

    do_work() はほとんどの場合、データを処理するスレッドの作成時に呼び出され、_lwp_start() から呼び出されるものとして示されます。do_work() は場合によっては、locktest() から呼び出されたあと、nothreads() という名前の 1 つのシングルスレッドタスクを呼び出します。

    パネルの「呼び出し」側では、最初の 2 つを除くすべての呼び出し先が、ほぼ同じ時間の「属性 CPU 合計」(12 秒以下) を示しています。