Oracle® Solaris Studio 12.4: IDE クイックスタートチュートリアル

印刷ビューの終了

更新: 2014 年 10 月
 
 

CPU 使用状況の調査

「CPU 使用 (CPU Usage)」グラフには、アプリケーションの実行中に使用される合計 CPU 時間がパーセントで表示されます。

  1. 「CPU 使用率」の「ホットスポット...」ボタンをクリックし、CPU時間の詳細を表示します。

    「関数あたりの CPU 時間」ウィンドウが開き、プログラムの関数が、各関数によって使用された CPU の時間とともに表示されます。関数は使用された CPU 時間の順に一覧表示され、使用時間がもっとも長い関数が最初に表示されます。プログラムがまだ実行中の場合、初期状態で表示される時間は、グラフをクリックした時点で消費された時間です。

    image:「関数あたりの CPU 時間」ウィンドウの CPU 使用率のホットスポットの詳細。
  2. 「関数名」列見出しをクリックし、関数をアルファベット順にソートします。

    CPU 時間の 2 つの列の違いを確認します。「CPU 時間 (包括的)」には、関数の実行開始から終了までの間に使用された CPU 時間の合計 (一覧表示された関数によって呼び出されたその他すべての関数の時間も含む) が表示されます。「CPU 時間 (排他的) (CPU Time (Exclusive))」には、特定の関数のみに使用された時間が表示され、その関数から呼び出された関数は含まれません。

  3. 「CPU 時間 (包括的)」列見出しをクリックして、使用時間がもっとも長い関数を先頭に戻します。

    この例では work_run_usrcpu() 関数の CPU 時間 (排他的) が 613.079、CPU 時間 (包括的) が 613.499 です。つまり、この関数が呼び出すほかの関数が使用している CPU 時間は短いが、work_run_usrcpu() 関数自体がもっとも長い時間を消費しています。

  4. 一部の関数がボールドで一覧表示されています。これらの関数を呼び出すソースファイルに移動できます。work_run_usrcpu() 関数をダブルクリックします。

    image:work_run_usrcpu 関数の CPU 使用率の使用率詳細。

    common.cファイルが開き、work_run_usrcpu() 関数がある 60 行目にカーソルが置かれます。この行の左マージンに、いくつかの数値が表示されます。

  5. 左マージンにある数値の上にカーソルを合わせます。これらの数値は、「関数あたりの CPU 時間」ウィンドウに表示される関数の包括的および排他的 CPU 時間と同じメトリックです。メトリックは小数第 1 位に丸められますが、マウスをメトリックに合わせると、丸める前の値が表示されます。work_run_usrcpu() 関数内で計算を行う for() ループなど、CPU を消費する行のメトリックは、common.c ソースファイルにも表示されます。

  6. 「関数あたりの CPU 時間」ウィンドウで、時間を入力して Enter を押すか、矢印を使用して秒をスクロールして、「時間フィルタ」の開始時間を 0:40 に変更します。グラフィックインジケータが、データフィルタリングコントロール上のハンドルを移動したときの状態に変更されます。ハンドルをドラッグすると、「関数あたりの CPU 時間」ウィンドウの「時間フィルタ」の設定が一致するように更新されます。重要なのは、表内の関数に対して表示されているデータがフィルタを反映して更新されるため、その時間内に使用された CPU 時間のみが表示されることです。

    image:work_run_usrcpu 関数の CPU 使用率の使用率詳細 (CPU 時間と時間フィルタ開始時間ボックスが枠で囲まれています)。
  7. 特定のメトリックに一致するデータにフィルタを適用することもできます。work_run_usrcpu() の「CPU 時間 (排他的) (CPU Time (Exclusive))」メトリックを右クリックします。この例では、「関数あたりの CPU 時間」ウィンドウで 603.112 を右クリックします。「次の条件の行のみ表示: > CPU 時間 (排他的) == 603.112」を選択します。すべての行がフィルタで除外され、排他的 CPU 時間が 603.112 と等しい行だけが表示されます。