レイテンシーの問題を解析

ハードウェア・トレース・モードでシステム概要解析を実行し、アプリケーション実行時のレイテンシー問題の原因を特定します。

ハードウェア・トレース収集のシステム概要ビューでは、次のデータが提供されます。

このデータは以下に利用できます。

アプリケーションの経過時間に対する割り込みの影響を調査

[タイムライン] ビューで割り込みを調査するには、[プラットフォーム] ウィンドウを開きます。割り込みカウントグラフは、実行中にトリガーされた割り込み数の概要を示します。

割り込みの多い領域を見つけてズームインします。モジュール名にカーソルを合わせると、割り込みの原因となるモジュールのエントリーポイントが表示されます。例えばページフォールトの場合:

または、タイマー割り込みの場合:

マイクロ秒単位のスレッドのアクティビティー解析

ハードウェア・トレース解析により、高い粒度レベルでデータを解析できます。例えば、要求間隔が 1 秒のネットワーク・ワークロードのデバッグに有用です。

単一の要求にズームインします。例えば、ping アプリケーションは、応答時間として 250 マイクロ秒を測定して表示します。

さらに詳しく、各モジュールの実行状況を解析できます。

スケジューラーがアイドルからアクティブになっています。

recvmsg は 1 秒間のスリープに使用されます。

新しいメッセージが送信されます。

Iptable ドライバーはアクティブです。

ネットワーク・ドライバーにかかる時間は、わずか 332ナノ秒です。

do_idle が実行されます。

カーネル・アクティビティーの調査

OS スケジュールの影響OS カーネル・アクティビティー グラフでは、システムが複数のコンテキスト・スイッチとカーネル・モード・エントリーを実行した領域がハイライトされています。

多数のコンテキスト・スイッチやカーネルのアクティビティーが活発な領域を特定し、ズームインして調査します。この例の場合、オペレーティング・システムは、プリエンプションや同期などさまざまな理由により、スレッドの再スケジュールを複数回行っています。マーカーにカーソルを合わせると、詳細が表示されるため問題の原因を特定できます。

[プラットフォーム] ウィンドウのグリッドペインで、[プロセス / モジュール / モジュールのエントリーポイント] グループを選択して、ユーザーモードとカーネルのアクティビティーを詳しく表示できます。モジュールを展開し、モジュールのエントリーポイントを探し、モジュールがカーネルモードで費やした時間を調査します。

また、特定のモジュールや関数によって引き起こされるカーネル・モード・エントリーの数と頻度を調べ、カーネル・アクティビティーによるパフォーマンスへの影響を観察できます。

ハードウェア・トレース収集は、イベントベース・サンプリングよりも正確で、実行されたすべてのモジュールの正確な時間を示します。

関連情報