共用方式為


暫止處理程序持續時間

最適用于: 應用程式開發人員

相關評量:

  • 開機效能 (快速啟動)
  • 待命效能
  • 休眠效能

此計量會測量電腦花費通知進程即將發生電源狀態變更的時間。

在這個階段中,用戶端/伺服器運行時間伺服器子系統 (Csrss.exe) 會將WM_POWERBROADCAST視窗訊息與擁有視窗的每個應用程式的事件 PBT_APMSUSPEND類型一起廣播。 系統也可能關閉監視器的電源。

您可以在 WPA 活動 圖表中看到此活動,因為連續進程在暫停的連續進程之間有較大的差距。 預期會關閉監視器的一秒或多個電源。 這是暫停/關閉期間的必要階段,不應將此計量視為效能瓶頸。

在此時間查看 CPU 使用量 (取樣) 圖表,以顯示下列堆疊上csrss.exe程式的 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。

  • 在這個階段期間,這個特定程式所花費的時間。

注意

如果應用程式有多個視窗,則相同的進程可以接收多個通知。

典型的影響因素

每個應用程式都可以延遲系統關閉,方法是延遲回應具有PBT_APMSUSPEND事件種類的WM_POWERBROADCAST訊息。 由於此計量會擷取所有 Windows GUI 進程回應暫停通知所花費的累積時間,因此除了所有進程回應的累積時間之外,此計量可能會受到單一進程所花費的時間太長的影響。 請注意,進程必須執行才能影響此計量;因為開機效能 (快速啟動) 評估重新開機,所以收集分析資料之前,這些程式幾乎完全來自啟動應用程式或排程的工作。

分析和補救步驟

識別最會影響此計量的程式。 在 Windows 評定主控台中,展開 [暫停進程持續時間 ] 計量,以取得此階段的詳細資料。 在此階段的 [處理 ] 清單中,依遞減順序排序 [持續時間 ],並尋找最大的參與者。

可能的話,請從啟動路徑中移除應用程式。 最佳做法是,啟動應用程式應保持在最低狀態。 如果 unessential 應用程式造成延遲,請考慮將其從啟動應用程式清單中移除。

針對影響啟動路徑的問題進行疑難排解和修正,需要深入分析應用程式延遲。 如需常見最佳做法的清單,請參閱開啟/關閉評定結果主題中Time-Critical工作的最佳做法。

其他資訊

MSDN: PBT_APMSUSPEND 事件