如何诊断 Windows 中的缓慢启动或登录?

Pau*_*ore 43 windows boot windows-7 performance

当我启动我的 PC 时,它非常愉快地启动到 Windows(Windows 7 32 位),我登录并出现 Windows 主屏幕。然而,在这一点上,系统在长达 5 分钟的时间里极度无响应——如果我点击 Firefox 来启动它,那么很长一段时间内似乎什么都没有发生,等等。鼠标和 Windows UI 有响应,但程序需要永远开始,网页似乎挂起(或至少加载非常缓慢)等等。

我想问题出在启动时运行的一个或多个程序上,但我不知道如何确定可能是哪个程序。事件日志没有显示任何明显的兴趣。我在任务管理器或进程资源管理器中看不到任何高 CPU 活动,也听不到任何高磁盘活动。

我宁愿了解正在发生的事情,然后想出如何解决它,而不是盲目地“关掉一切,看看有什么帮助”的方法,但也许这是乐观的:-)

我怀疑磁盘瓶颈或网络,但我不知道如何设置一些东西来诊断这个(特别是,鉴于我无法让程序及时启动,我更喜欢自动启动的东西并记录数据以供以后分析,而不是像 Process Explorer 这样的东西,这总是让我担心到它开始时问题已经消失了 :-)

我想我的理想是两件事:

  1. 一些东西给了我一个总体的“这个系统中当前的关键瓶颈是什么”总结(理想情况下,可以设置为在后台运行并收集数据以供以后分析)。

  2. 一些启动程序的方法(例如,Firefox)并让它记录系统中等待和延迟的情况。

不幸的是,我从来没有真正发现过类似的东西。

我不是专业的系统管理员 - 我的背景是数据库管理员 - 所以如果有“明显”的工具可以查看或尝试,那么我很高兴知道它们(特别是如果他们提供的信息对于业余分析):-)

Tam*_*man 23

WPT 中的工具 XPerf 和 XBootMgr(在 Windows SDK 或以下版本中可用)非常适合解决 Windows 上的任何与性能相关的问题;无论是在启动时还是在全高清视频期间出现故障,这些工具都可以帮助您查明问题所在。它们是免费的并且来自 Microsoft。:-)

性能分析

慢系统的故障排除可以这样完成:

  1. Windows 性能分析工具下载适用于您的 Windows 版本的设置。
  2. 在您的系统上安装该软件。
  3. 以管理员身份打开命令提示符,然后复制粘贴下一个命令:

    xperf -start perf!GeneralProfiles.InBuffer && timeout -1 && xperf -stop perf!GeneralProfiles.InBuffer myTrace.etl
    
    Run Code Online (Sandbox Code Playgroud)
  4. ENTER 一次以启动命令,现在您必须等到操作完成。

  5. 完成操作后,您立即转到控制台并按ENTER
  6. 等待一段时间后,将生成一个日志文件 myTrace.etl。

要么自己分析,要么找不到问题,请上传,我会帮助您:

  1. 把它压缩成一个 zip 文件,把它放到网上的某个地方(也许是 2shared)。
  2. 在此处分享链接,我将尝试查找并向您展示问题的原因。

开机分析

对于用户友好且简单的方法,请查看@harrymc 建议的 Soluto

有关详细的启动分析,请查看此文档,我之前链接的 WPT 中提供了 XBootMgr.exe。

按照文档中的说明操作将生成类似的日志,您可以对其进行分析或上传...

  • 您的第一个链接已失效。 (2认同)

har*_*ymc 19

更新:Soluto 已经向前发展,它的软件现在与移动世界有关。制造商不再提供Soluto 的原始“反挫败软件”;人们需要在互联网上寻找它的旧版本,毕竟它可能仍然无法使用。

很遗憾,因为它是一个相当独特的产品。

这是他们网站的存档副本。? 他们的 URL现在重定向到asurion.com,该网站似乎提供技术服务,但不提供产品。


Soluto 是一款出色的引导分析产品。

有关更多信息,请参阅:Soluto 找出是什么导致您的 PC 陷入困境(并告诉您如何修复它)

Soluto的“抗挫软件”截图

  • 这个答案已经过时了。不幸的是,Soluto 停止了桌面应用程序,仅提供 Web 服务作为商业系统管理产品。[\[1\]](https://support.soluto.com/entries/21438542/#post_23921477) [\[2\]](https://support.soluto.com/entries/21404461/#internal- source-marker_0.8590441455598921) [\[3\]](https://support.soluto.com/entries/21551902-Soluto-is-now-on-the-web-) (3认同)
  • @Synetech:只有显示部分移到了网络上,数据仍然通过安装的桌面应用程序在PC上生成。如果忽略新的花里胡哨,新的显示功能与以前大致相同。 (2认同)

小智 8

我还有一个关于跟踪启动时间的额外建议。它是通过事件查看器中的事件 100 实现的。深入这条链:

Eventvwr 
-->Applications and Service Logs
-->Microsoft
-->Windows
-->Diagnostics - performance
-->Operational
-->Event ID 100<--
Run Code Online (Sandbox Code Playgroud)

然后双击事件 100,它会为您提供一个指示启动时间的小窗口。

在此处输入图片说明

然后单击“详细信息”选项卡,它为您提供所有这些附加信息,您应该能够从中确定启动过程中花费最多时间的过程。

EventData 

  BootTsVersion 2 

  BootStartTime 2015-04-09T15:19:05.671600300Z 

  BootEndTime 2015-04-09T15:21:34.500099800Z 

  SystemBootInstance 1174 

  UserBootInstance 1155

  BootTime 24239 

  MainPathBootTime 12239 

  BootKernelInitTime 19 

  BootDriverInitTime 291

  BootDevicesInitTime 906 

  BootPrefetchInitTime 0 

  BootPrefetchBytes 0 

  BootAutoChkTime 0 

  BootSmssInitTime 8551 

  BootCriticalServicesInitTime 410 

  BootUserProfileProcessingTime 823 

  BootMachineProfileProcessingTime 70 

  BootExplorerInitTime 499 

  BootNumStartupApps 7 

  BootPostBootTime 12000 

  BootIsRebootAfterInstall false 

  BootRootCauseStepImprovementBits 0 

  BootRootCauseGradualImprovementBits 0 

  BootRootCauseStepDegradationBits 0 

  BootRootCauseGradualDegradationBits 0 

  BootIsDegradation false 

  BootIsStepDegradation false 

  BootIsGradualDegradation false 

  BootImprovementDelta 0 

  BootDegradationDelta 0 

  BootIsRootCauseIdentified false 

  OSLoaderDuration 1894 

  BootPNPInitStartTimeMS 19 

  BootPNPInitDuration 932 

  OtherKernelInitDuration 411 

  SystemPNPInitStartTimeMS 1338 

  SystemPNPInitDuration 265 

  SessionInitStartTimeMS 1609 

  Session0InitDuration 4563 

  Session1InitDuration 553 

  SessionInitOtherDuration 3434 

  WinLogonStartTimeMS 10161 

  OtherLogonInitActivityDuration 686 

  UserLogonWaitDuration 182 
Run Code Online (Sandbox Code Playgroud)

  • 这是一个很有前途的选择,但由于关于报告每一行所指内容的文档很少,因此它的用途有限。 (例如什么是“BootRootCausesStepImprovementBits”?) (2认同)