关机进程持续时间

最适用于:应用程序开发人员

相关评估:

  • 启动性能(快速启动)

当评估启动用户会话关闭时,每个图形用户界面 (GUI) 应用程序中的每个 UI 线程都发送一个 WM_QUERYENDSESSION 消息。 Windows 收到 WM_QUERYENDSESSION 消息的响应后,Windows 将 WM_ENDSESSION 发送到相同的线程。 如果 5 秒钟后,任何应用程序均未响应这些通知,Windows 会终止该应用程序。 任何应用程序都可以通过不及时响应消息来延迟系统关闭。

注意

如果用户启动了关闭,则在超时过期后将显示用户对话框。 此对话显示正在阻止关闭的应用程序的信息,并允许用户“强制”或“取消”该关闭。

此指标测量计算机关闭用户会话中所有进程所花费的时间。

详细子指标

扩展指标时,会显示一组子指标的更详细的视图,这组子指标用于衡量各个进程响应关闭通知所花费的时间。 这些列显示以下信息:

  • 在“详细信息”列中按迭代显示 PID。 在默认视图中,此列可能包含“Various”值,因为 PID 不能跨迭代聚合。 展开迭代以查看各个 PID。

  • 此特定进程在此阶段所花费的时间。

典型影响因素

此指标捕获有 UI 线程响应关闭通知的所有正在运行进程的累积时间。 除了所有进程响应的累积时间之外,耗时过长的单个进程也可能会影响此指标。

具有 UI 线程的每个进程都可以延迟系统关闭,方法是延迟其对 WM_QUERYENDSESSION 消息或 WM_ENDSESSION 消息的响应。

注意

若要影响此指标,进程必须正在运行。 由于此评估在收集数据进行分析之前会重新启动,因此正在运行的进程几乎完全来自启动应用程序或计划任务。

分析和修正步骤

可以使用开/关评估结果主题中的查找最大参与者技术来确定对该指标影响最大的进程。

如果可能,请从启动路径中删除应用程序。 由于评估在执行度量之前重新启动,因此只有在关闭时正在运行的应用程序是启动时开始的应用程序。 作为最佳实践,应将启动应用程序保持在最低限度。 如果不重要的应用程序会导致延迟,请考虑将其从启动应用程序列表中删除。

找出响应 WM_QUERYENDSESSION 消息或 WM_ENDSESSION 延迟的可能原因,并对潜在问题进行故障排除和修复。 有关常见最佳实践的列表,请参阅开/关评估结果主题中时间关键任务的最佳实践

其他信息

MSDN: WM_QUERYENDSESSION 消息

MSDN: WM_ENDSESSION 消息