f
frendguo.

Windows 中如何获取开关机时间

Windows 上,开关机时间对用户体验影响非常大。获取到每次开机总时间和阶段耗时,有利于我们了解系统瓶颈,方便后续进行改善。 借助于 Windows 强大的诊断能力,Windows 自身借助 ETW 就已经统计了开关机的时间,这样我们获取开关机时间就非常简单了。 具体的数据就在 Microsoft Windows D

目录
关机时间开机时间

Windows 上,开关机时间对用户体验影响非常大。获取到每次开机总时间和阶段耗时,有利于我们了解系统瓶颈,方便后续进行改善。

借助于 Windows 强大的诊断能力,Windows 自身借助 ETW 就已经统计了开关机的时间,这样我们获取开关机时间就非常简单了。

具体的数据就在 Microsoft-Windows-Diagnostics-Performance/Operational 这个 Provider 里了。

接下来,我们看看具体的信息

关机时间#

针对关机时间,其会通过事件 ID 为 200 的一个事件来将中间过程汇总:

打开事件查看器,找到 Microsoft-Windows-Diagnostics-Performance/Operational 中的一个 200 的事件:

744de0fa-724f-439f-afd5-aad186059ed3

详情中,我们可以看到 EventData 中包含多个字段。以下是关于这些字段的解释:

开机时间#

针对关机时间,其会通过事件 ID 为 100 的一个事件来将中间过程汇总:

打开事件查看器,找到 Microsoft-Windows-Diagnostics-Performance/Operational 中的一个 200 的事件:

8432245f-3562-480e-b022-91aa8616bd99

详情中,我们可以看到 EventData 中包含多个字段。以下是关于这些字段的解释:

简要分析

  1. BootTime 大致等于 (BootEndTime - BootStartTime)
  2. BootTime 可以被分成 MainPathBootTime + BootPostBootTime 这两个大的阶段。
  3. MainPathBootTime 包含 核心驱动和设备初始化、Session Manager(SMSS.exe)初始化、WinLogon/用户会话初始化等关键步骤。但不包括在 Explorer.exe 加载完成后、系统在后台继续加载的各种延迟启动非关键启动项的时间(这部分会统计在 PostBootTime 中)
  4. 其余字段多是分段耗时或标志位,可能存在一定的交叉或重叠。

由于开机流程中存在多线程并行、异步初始化(例如服务、驱动、进程等同时进行),并且系统记录时可能会在不同的事件点采样,因此并不是所有字段都能用一个“加法公式”严丝合缝地对上。相互之间更适合用来做趋势分析定位瓶颈,而非做绝对数值的严谨对比。

── END ──
↑ Back to topSubscribe
← NEWER
性能监视器的计数器解析(三)- 进程
OLDER →
性能监视器的计数器解析(二)- 物理磁盘

还没有评论。下面留下第一条吧。

+ 留个评论
提交后由管理员审核 · 通常 24h 内显示
Jul 25Windows 权限相关概念解析4m →Mar 25Windows是如何区分互联网下载文件和本地文件的6m →Feb 25如何低成本的获取到应用卡顿情况3m →