ハードウェア・トレース・モードでシステム概要解析を実行し、アプリケーション実行時のレイテンシー問題の原因を特定します。
ハードウェア・トレース収集のシステム概要ビューでは、次のデータが提供されます。
マイクロ秒単位の粒度の時間経過で示されるシステム全体の統計
タイムライン上のモジュール境界
モジュールのエントリーポイントでの関数名
アクティブ/アイドルのスレッド時間
タイムライン上の割り込み
モジュールおよびモジュールのエントリーポイントでのユーザーモードまたはカーネルモードの実行時間
このデータは以下に利用できます。
[タイムライン] ビューで割り込みを調査するには、[プラットフォーム] ウィンドウを開きます。割り込みカウントグラフは、実行中にトリガーされた割り込み数の概要を示します。
割り込みの多い領域を見つけてズームインします。モジュール名にカーソルを合わせると、割り込みの原因となるモジュールのエントリーポイントが表示されます。例えばページフォールトの場合:
または、タイマー割り込みの場合:
ハードウェア・トレース解析により、高い粒度レベルでデータを解析できます。例えば、要求間隔が 1 秒のネットワーク・ワークロードのデバッグに有用です。
単一の要求にズームインします。例えば、ping アプリケーションは、応答時間として 250 マイクロ秒を測定して表示します。
さらに詳しく、各モジュールの実行状況を解析できます。
|
OS スケジュールの影響 と OS カーネル・アクティビティー グラフでは、システムが複数のコンテキスト・スイッチとカーネル・モード・エントリーを実行した領域がハイライトされています。
多数のコンテキスト・スイッチやカーネルのアクティビティーが活発な領域を特定し、ズームインして調査します。この例の場合、オペレーティング・システムは、プリエンプションや同期などさまざまな理由により、スレッドの再スケジュールを複数回行っています。マーカーにカーソルを合わせると、詳細が表示されるため問題の原因を特定できます。
[プラットフォーム] ウィンドウのグリッドペインで、[プロセス / モジュール / モジュールのエントリーポイント] グループを選択して、ユーザーモードとカーネルのアクティビティーを詳しく表示できます。モジュールを展開し、モジュールのエントリーポイントを探し、モジュールがカーネルモードで費やした時間を調査します。
また、特定のモジュールや関数によって引き起こされるカーネル・モード・エントリーの数と頻度を調べ、カーネル・アクティビティーによるパフォーマンスへの影響を観察できます。
ハードウェア・トレース収集は、イベントベース・サンプリングよりも正確で、実行されたすべてのモジュールの正確な時間を示します。