2.11 ARM® Linux 上で動作するスレッドアプリケーションのパフォーマンス解析

ARM Streamline は、グラフィカルなパフォーマンス解析ツールです。ターゲットで実行中のコードに関するさまざまな統計情報を収集して、解析レポートを生成します。これらの情報から、コードのホットスポットを特定したり、システムレベル、プロセスレベル、およびスレッドレベルで問題のある領域を特定します。

前提条件

このチュートリアルでは、スレッドサンプルアプリケーションを使って、Linux ターゲットから Streamline を使用してプロファイリングデータをキャプチャおよび解析する方法を紹介します。データをキャプチャするには、その前に以下の条件を満たしている必要があります。
  1. スレッドアプリケーションがビルドされていること。
  2. ターゲットの IP アドレスまたはネットワーク名がわかっていること。IP アドレスを検索するには、Linux コンソールで ifconfig アプリケーションを使用します。IP アドレスは、inet addr で指定されています。
  3. ターゲットの Linux カーネルが Streamline 用に設定されていること。
  4. gator デーモンがターゲット上で動作していること。動作していない場合、[Streamline データ]ビューの[ターゲットのセットアップ]オプションを使用して、ターゲットに gator をインストールして実行します。
  5. SSH と gdbserver がターゲット上で実行されていること。

Linux ターゲットでスレッドアプリケーションをビルドして実行する方法の詳細については、サンプルのソースコードと同じディレクトリに配置される readme.html を参照して下さい。

手順

  1. Eclipse を起動して、DS-5 デバッグパースペクティブを開きます。
  2. [リモートシステム]ビューで、[リモートシステムへの接続の定義]ボタン を使用して、ターゲットへの接続を定義します。
  3. [ウィンドウ] > [ビューを表示]メニューから [Streamline データ]ビューを開きます。
  4. [Streamline データ]ビューの[接続]フィールドにターゲットの IP アドレスまたはネットワーク名を指定します。または、[ターゲットの参照]ボタン を使用します。
  5. [キャプチャと解析オプション]ボタン をクリックします。[プログラムイメージ]セクションで、ワークスペースからスレッドイメージを選択して、[保存]を選択します。
  6. [実行] > [デバッグコンフィギュレーション]を選択して、 threads-gdbserver-example デバッグコンフィギュレーションを選択します。この構成は、アプリケーションをターゲットにダウンロードして、ターゲット上の gdbserver を開始した後、アプリケーションの実行を開始して、main() で停止します。
    ターゲットプラットフォームによっては、実行可能ファイルの soft float バージョン(threads)ではなく、hard float(threads_hardfp)バージョンを選択する必要がある場合があります。これを変更するには、[デバッグコンフィギュレーション]ダイアログの[ファイル]タブを使用します。
  7. ターゲットに接続するには、[デバッグコンフィギュレーション]ダイアログで[デバッグ]を選択するか、[デバッグ制御]で接続を右クリックして、[ターゲットに接続]を選択します。
  8. プログラムは、main() で停止します。データのキャプチャを開始するには、[Streamline データ]ビューで[キャプチャの開始] ボタンをクリックします。キャプチャファイルに一意の名前を付けます。
  9. コードの実行を継続するには、[続行]を押します。
  10. アプリケーションが終了したら、[キャプチャと解析を停止]ボタン を使用してキャプチャを停止します。
Streamline は、キャプチャを自動的に解析し、以下のスクリーンショットのように、[タイムライン]ビューでレポートを開きます。既存のキャプチャファイルのレポートを再生成するには、[Streamline データ]ビューでキャプチャファイルをダブルクリックします。
図 2-14 スレッド アプリケーションの Streamline 解析レポート
スレッド アプリケーションの Streamline 解析レポート

関連する参考文書
3.6  DS-5 付属のサンプル
関連情報
ARM Streamline の使用
非機密扱い - ベータPDF file icon PDF 版ARM DUI0478UJ
Copyright © 2010-2015 ARM.All rights reserved.