如何找出导致笔记本电脑需要很长时间才能进入睡眠状态的原因?

如何找出导致笔记本电脑需要很长时间才能进入睡眠状态的原因?

直到最近,我的笔记本电脑在合上盖子后最多需要 5 秒钟才能进入睡眠状态。这种情况持续了几个月。然而最近,每当合上盖子或发出睡眠命令时,我的笔记本电脑都需要大约 2 分钟(甚至更多)才能进入睡眠状态。发出睡眠命令后,屏幕变黑,计算机无法使用,直到进入睡眠状态。现在大多数情况下都会发生这种情况,但有时如果我幸运的话,它会像以前一样需要 5 秒钟。

这个问题是突然发生的,并不是一个逐渐发生的现象,所以我认为有一个特定的原因导致了这个问题,而不仅仅是“计算机老化”或其他原因造成的。

这对我来说是相当不可接受的,因为我想在把它放进包里或其他地方之前确保它处于休眠状态,而且这似乎也浪费时间。问题是我不确定这种情况到底是什么时候开始发生的,所以我不能确定这是由更新引起的,还是由我插入的 USB 设备引起的,或者其他什么原因。

从睡眠状态唤醒与以前一样快,最多只需 2 秒。所以没有问题。

有什么方法可以确定耗时过长的原因吗?在我看来,Windows 正在等待驱动程序、服务、程序或设备响应后再进入睡眠状态,所以我想找出这到底是什么。

如果有什么关系的话,我在 Sony Vaio Pro 11 上运行 64 位 Windows 8.1。

答案1

我已按照该论坛中的说明来确定问题的原因。 http://www.msfn.org/board/topic/158252-trace-why-windows-8-boots-shutsdown-or-hibernates-slowly/

它主要讨论确定启动需要的时间,但相同的说明也适用于待机。不过,遵循这些说明可能很难,所以我将继续写下我所做的。

我首先从以下链接下载了 Windows 8.1 SDK,并确保安装了 Windows Performance Toolkit(您不需要安装任何其他东西)。以下链接适用于 Windows 8.1(如果您使用的是 Windows 8,则需要搜索适用于 Windows 8 的正确 SDK) http://msdn.microsoft.com/en-US/windows/desktop/bg162891

安装工具包后,我以管理员权限启动了命令提示符(只需搜索 cmd 并右键单击并以管理员权限启动)

运行以下命令

xbootmgr -trace standby -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\TEMP

弹出窗口会出现,您的计算机将进入待机状态。确定计算机已进入待机状态后,如果计算机没有唤醒,请将其唤醒。等待弹出窗口消失。待机过程的跟踪信息将全部存储在 C:\TEMP 中,但信息太多,因此我们需要“总结”它

在命令提示符中,转到 C:\TEMP,然后运行以下命令来创建摘要 XML 文件

xperf /tti -i standby_BASE+CSWITCH+DRIVERS+POWER_1.etl -o summary_stanby.xml -a suspend

将显示一个新的 XML 文件。您可以使用文本编辑器或 Internet Explorer 或任何您想要的 XML 编辑器打开它。您将看到几个 XML 标签,它们代表系统采取的不同暂停步骤。其中包括应用程序、服务、超级提取和设备等标签。标签的“持续时间”属性就是您要查找的内容,通过查看 XML,您可以找出导致延迟的原因。标签按持续时间方便地排序。

就我而言,我注意到 WiFi 驱动程序是罪魁祸首,它需要一分半钟以上的时间才能挂起。为了确保万无一失,我在设备管理器中禁用了 WiFi 驱动程序,然后尝试合上盖子。进入待机状态仅需 3 秒钟。然后我更新了 WiFi 驱动程序,果然笔记本电脑的待机时间现在约为 5 秒,正如预期的那样。

编辑:删除,更新 WiFi 驱动程序并没有解决问题(我猜是垃圾驱动程序),但问题肯定出在 WiFi 驱动程序上

答案2

罪魁祸首是我插入的存储卡读卡器(尽管里面实际上没有存储卡),只需将其移除后睡眠时间即可恢复正常。所以你可能要检查一下连接到笔记本电脑端口的任何东西!

相关内容