为什么关机后系统正常运行时间过长?

Ash*_*win 8 windows uptime

我注意到我的 PC 中有一些奇怪的东西。我系统中的任务管理器显示我的系统正常运行时间约为 3 天 1 小时。我可以诚实地告诉你,我这周只用了 10 个小时。

我很少让我的电脑处于待机或休眠状态,因为我没有太多的工作要做。我试过关闭几个小时,但仍然发现它没有变化。

这是正常的吗?因为我对停机/正常运行时间的基本概念知之甚少。

Dav*_*ill 11

任务管理器显示系统正常运行时间约为 3 天 1 小时

这周我只使用了这台机器 10 小时。

差异是正常的。

  • Windows 系统正常运行时间是当前时间与系统启动时间之间的差值。

  • 它不会减去系统在睡眠或休眠状态下花费的任何时间。

任务管理器显示一条名为“正常运行时间”的信息。这个值是如何计算的,为什么它与 GetTickCount/GetTickCount64 报告的值不一致?

任务管理器通过从当前时间中减去系统启动时间来计算“正常运行时间”。换句话说,它被错误地命名;自系统启动以来,它确实应该称为时间。它不会减去计算机处于睡眠或休眠状态的时间。

另一方面,滴答计数仅计算计算机开启时经过的时间。

来源任务管理器如何计算正常运行时间,为什么它与 GetTickCount 不一致? 作者:Raymond Chen(微软首席软件设计工程师)。


我如何获得自上次睡眠或休眠以来的正常运行时间?

setx HardwareUptime "powershell.exe -nologo -command Write-Host $('Uptime since hardware boot: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -InstanceId 27 -Newest 1).TimeGenerated)); Write-Host $('Uptime since system resumed: {0:c}' -f ((Get-Date)- (Get-EventLog -LogName system -Source 'Microsoft-Windows-Power-Troubleshooter' -Newest 1).TimeGenerated));"
Run Code Online (Sandbox Code Playgroud)

我对命令进行了一些修改,使其更加明确,并为您提供了两条信息:

  • 自 Windows 启动后经过的时间(混合关机、完全关机或简单重启或休眠后)。

  • 自 Windows 恢复执行后经过的时间(从睡眠模式返回后)。

注意:如果系统在这之间没有休眠,则两个时间将相同。

来源Windows 8的报告错误的正常运行时间(可能是总混合-Boot的正常运行时间)asm00


我试过关闭几个小时,但仍然发现它没有变化。

您启用了混合启动。

正常运行时间的传统定义是自内核初始化以来计算机运行的时间。由于混合启动只是一种特殊类型的挂起(以前挂起到 RAM 和休眠),因此它不算作“关闭”,因为使用的是 Windows 内核的相同实例。

Windows 8 的源评论报告allquixotic错误的正常运行时间(可能是总的 Hybrid-Boot 正常运行时间)

混合启动是 Windows 8 中的一项新功能,它采用了我们都知道和喜爱的休眠功能,并对其进行了改进,为我们带来了更快的启动时间。在您的 PC 中,您有多个会话,更具体地说,您有为内核会话保留的会话 0 和通常是您的用户会话的会话 1。在传统的休眠实现中,当您单击休眠时,您的 PC 会获取当前内存 (RAM) 中的所有内容并将其写入硬盘驱动器上的 hiberfil.sys 文件,这包括会话 0 和会话 1 数据。

使用混合启动,它不会休眠两个会话,它只休眠会话 0,然后关闭您的用户会话。因此,现在当您启动 PC 备份时,它会从 hiberfil.sys 读取会话 0 并将其放回内存中,并为您启动一个新的用户会话。结果是启动时间显着加快,对我们的用户会话没有影响。

Source如何在不禁用混合启动的情况下在 Windows 8 中完全关闭

该链接包含有关如何完全关闭的说明。


进一步阅读

旧事新:实践发展整个的Windows的演变雷蒙德·陈(首席软件设计工程师在微软)。