プロセスの中断の所要時間

主要な適用対象: アプリケーション開発者

関連する評価:

  • 起動パフォーマンス (高速起動)
  • スタンバイ パフォーマンス
  • 休止状態のパフォーマンス

このメトリックでは、コンピューターが、まもなく発生する電力状態の変化の通知プロセスに費やした時間を測定します。

このフェーズ中に、クライアント/サーバーのランタイム サーバー サブシステム (Csrss.exe) によって、ウィンドウを所有するすべてのアプリケーションに PBT_APMSUSPEND のイベントの種類と共に WM_POWERBROADCAST ウィンドウ メッセージがブロードキャストされます。 また、システムによってモニターの電源がオフにされることもあります。

このアクティビティは、中断されている連続するプロセス間の大きなギャップとして、WPA アクティビティ グラフに表示できます。 モニターの電源をオフにするには、1 秒以上必要です。 これは、中断/シャットダウン中に必要なステージであり、このメトリックのパフォーマンスのボトルネックとは見なされません。

次のスタック上で csrss.exe プロセスの CPU 使用率を確認するには、この時間内に CPU 使用率 (サンプリング) グラフを調べます。

[Root] (csrss.exe) 
winsrv.dll!RegisterForDeviceBroadcastNotifications 
|- winsrv.dll!ZwUserCallNoParam 
|    win32k.sys!xxxUserPowerStateCalloutWorker 
|    |- win32k.sys!PowerOffMonitor 
|    |    |- win32k.sys!FadeDesktop 
|    |    |- win32k.sys!DrvSetMonitorPowerState 
|    |    |- win32k.sys!UpdateDisplayState 
|    |    |- win32k.sys!DwmSyncClearSwapChain 
|    |    |- win32k.sys!RestoreGammaRamp

他のスタック上の CPU 使用量が原因でプロセスの中断にギャップがある場合や、現在のスタックで CPU 使用率なしで遅延が発生する場合は、さらに調査する必要がある領域を示している可能性があります。

メトリックを展開すると、より詳細なフェーズ ビューが表示され、各プロセスで中断通知に応答するために要した時間を測定する一連のサブメトリックが示されます。 列には、次の情報が表示されます。

  • [詳細] 列にはイテレーション別の PID。 既定のビューでは、この列に値 "Various" が含まれている場合があります。これは、イテレーション間で PID を集計できないためです。 イテレーションを展開して個別の PID を表示します。

  • このフェーズ中にこの特定のプロセスに要した時間。

Note

アプリケーションに複数のウィンドウがある場合、同じプロセスで複数の通知を受け取ることがあります。

一般的な影響要因

各アプリケーションでは、イベントの種類が PBT_APMSUSPEND の WM_POWERBROADCAST メッセージへの応答を遅らせて、システムのシャットダウンを遅らせることができます。 すべての Windows GUI プロセスで中断通知に応答するためにかかった累積時間がこのメトリックによってキャプチャされるので、このメトリックは、すべてのプロセス応答の累積時間に加えて、時間がかかりすぎる単一のプロセスの影響を受ける可能性があります。 このメトリックに影響を与えるには、プロセスが実行されている必要があることに注意してください。分析のためにデータを収集する前にブート パフォーマンス (高速スタートアップ) の評価が再起動されるため、これらのプロセスは、ほぼ例外なくスタートアップ アプリケーションやスケジュールされたタスクから発生します。

分析と修復の手順

このメトリックに最も大きな影響を与えるプロセスを特定します。 Windows Assessment Console で、[プロセスの中断の所要時間] メトリックを展開して、このフェーズの詳細を取得します。 このフェーズの [プロセス] 一覧で、[期間] を降順に並べ替えて、最大のコントリビュータを探します。

可能であれば、スタートアップ パスからアプリケーションを削除します。 ベスト プラクティスとして、スタートアップ アプリケーションは最小限に抑えてください。 不要なアプリケーションが原因で遅延が発生している場合は、スタートアップ アプリケーションの一覧から削除することを検討してください。

スタートアップ パスに大きな影響を与える問題のトラブルシューティングを行って修正するには、アプリケーションの遅延を詳細に分析する必要があります。 一般的なベスト プラクティスの一覧については、「オン/オフ切り替え評価の結果」トピックの「タイム クリティカルなタスクのベスト プラクティス」を参照してください。

追加情報

MSDN: PBT_APMSUSPEND イベント