折腾Windows睡眠功能实录 写好了
This commit is contained in:
parent
7d7506eaa6
commit
63302cda25
BIN
content/posts/折腾Windows睡眠功能实录/img/pic5.png
Normal file
BIN
content/posts/折腾Windows睡眠功能实录/img/pic5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 645 KiB |
BIN
content/posts/折腾Windows睡眠功能实录/img/pic6.png
Normal file
BIN
content/posts/折腾Windows睡眠功能实录/img/pic6.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 54 KiB |
BIN
content/posts/折腾Windows睡眠功能实录/img/pic7.png
Normal file
BIN
content/posts/折腾Windows睡眠功能实录/img/pic7.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
BIN
content/posts/折腾Windows睡眠功能实录/img/pic8.png
Normal file
BIN
content/posts/折腾Windows睡眠功能实录/img/pic8.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 60 KiB |
@ -1,7 +1,7 @@
|
|||||||
+++
|
+++
|
||||||
date = '2025-01-29T23:52:32+08:00'
|
date = '2025-01-29T23:52:32+08:00'
|
||||||
languageCode = 'zh-cn'
|
languageCode = 'zh-cn'
|
||||||
draft = true
|
draft = false
|
||||||
title = '折腾Windows睡眠功能实录'
|
title = '折腾Windows睡眠功能实录'
|
||||||
+++
|
+++
|
||||||
|
|
||||||
@ -28,17 +28,10 @@ title = '折腾Windows睡眠功能实录'
|
|||||||
体验 Windows 功能体验包 1000.26100.36.0
|
体验 Windows 功能体验包 1000.26100.36.0
|
||||||
```
|
```
|
||||||
### 问题描述
|
### 问题描述
|
||||||
1. 进入睡眠以后掉电很快,没多久就因为耗电过多(4%)触发休眠门槛,导致系统休眠(hibernate)到硬盘。键盘灯亮,电源灯不呼吸,但是大小写锁定灯和FN锁定灯熄灭
|
进入睡眠以后掉电很快,没多久就因为耗电过多(4%)触发休眠门槛,导致系统休眠(hibernate)到硬盘。睡眠时,键盘灯亮,电源灯不呼吸,但是大小写锁定灯和FN锁定灯熄灭。
|
||||||
1. 在连接电源睡眠,可能会卡死,出现无规律。卡死时键盘灯亮、电源灯不呼吸、电脑严重发热、但是风扇不转。无论按什么按钮(包括电源键)电脑均无反应,只能长按电源键断电。
|
|
||||||
|
|
||||||
## 现代待机
|
|
||||||
|
|
||||||
[现代待机](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby)是微软在Windows上退出的*新*的待机机制,实际上Windows已经使用了该机制10年以上,也算是经过了一些检验。这里从微软的文档中摘录一些内容,用以科普几个概念。
|
|
||||||
|
|
||||||
## 测试方案
|
## 测试方案
|
||||||
|
|
||||||
### 问题一、睡眠键盘灯不熄灭,耗电高
|
|
||||||
|
|
||||||
按`win + x`和`a`打开管理员终端,输入 `powercfg /systempowerreport` 生成系统的电池报告,电池报告会生成在`%HOME%`目录下
|
按`win + x`和`a`打开管理员终端,输入 `powercfg /systempowerreport` 生成系统的电池报告,电池报告会生成在`%HOME%`目录下
|
||||||
|
|
||||||

|

|
||||||
@ -63,22 +56,41 @@ title = '折腾Windows睡眠功能实录'
|
|||||||
Get-PnpDevice | Select-Object -Property FriendlyName, InstanceId | Out-GridView
|
Get-PnpDevice | Select-Object -Property FriendlyName, InstanceId | Out-GridView
|
||||||
```
|
```
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
在弹出的窗口中搜索对应的设备位置,搜索即可找到对应的设备在设备管理器中的名字,在设备管理器中找到设备,尝试选择自动更新驱动程序。
|
在弹出的窗口中搜索对应的设备位置,搜索即可找到对应的设备在设备管理器中的名字,在设备管理器中找到设备,尝试选择自动更新驱动程序。
|
||||||
|
|
||||||
在我的案例中,我发现是AMD的USB控制器和其下的USB集线器过于活跃,这些设备的驱动可能本身不含现代待机使用的*Low Power State* API,我额外检查了对应设备的电源管理设置,发现*允许计算机关闭此设备以节约电源*选项未勾选。我推测可能是因为系统无法以直接关闭设备的方式停止该设备活动,所以该设备活跃时间畸高。因此,勾选该项再次测试,发现系统可以正常进入睡眠,键盘灯正常熄灭。
|
在我的案例中,我发现是AMD的USB控制器和其下的USB集线器过于活跃,这些设备的驱动可能本身不含现代待机要求的[*low-power idle states*](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/directed-power-management),我额外检查了对应设备的电源管理设置,发现*允许计算机关闭此设备以节约电源*选项未勾选。我推测可能是因为系统无法以直接关闭设备的方式停止该设备活动,所以该设备活跃时间畸高。因此,勾选该项再次测试,发现系统可以正常进入睡眠,键盘灯正常熄灭。
|
||||||
|
|
||||||
除此之外,我还更新了我的外设的驱动(雷蛇鼠标),现在的外设功能不断丰富,我推测个别外设可能需要专门的驱动实现现代待机使用的*Low Power State* API,因此检查一下这些驱动也可能有帮助。
|

|
||||||
|
|
||||||
之后,睡眠期间键盘灯不关闭、耗电高的问题成功解决。
|
此外,在后期的测试过程中,还会出现个别程序长时间占用音频流(但不发出声音,因此难以察觉,可以使用`powercfg /requests`查看是否存在这种情况)导致的“高功耗”睡眠的情况,在系统电源报告中也有体现,可以直接寻找红色的电源记录检查是否存在问题。
|
||||||
|
|
||||||
### 问题二、睡眠期间卡死
|
之后,睡眠期间耗电高的问题**成功解决**。
|
||||||
|
|
||||||
这个问题是该电脑长期存在的问题,重装系统也是出于该原因。检查电池报告,发现在睡眠卡死强制关机留下*Abnormal Shutdown*日志项,该日志项是在长按电源关机之后的下一次启动时生成的,内容应该来自系统从硬盘中页面文件中恢复的日志,一定程度上能反映卡死之前发生了什么。从所有的*Abnormal Shudown*日志发现,电脑在这是从未进入睡眠状态,而是在*Screen Off*后转入睡眠之前的某个时刻卡死。而在*Abnormal Shutdown*日志项中,均发现了*SystemSleepTransitionsToOn*项值畸高的情况。微软的文档并未有该项含义的详细解释,但是从项目词义可以推测系统反复尝试电源状态转换,推测可能是固件、硬件驱动或者硬件本身导致的问题。
|
如果上述方案仍难以解决问题,可以考虑使用[Windows性能分析器](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/using-windows-performance-analyzer-to-analyze-modern-standby-issues#capture-and-view-a-wpa-trace-for-modern-standby-diagnostics)进一步确定问题。
|
||||||
|
|
||||||
2024年2月,有[帖子](https://www.saraba1st.com/2b/thread-2170734-1-1.html)讲AMD发布了6800H更新的驱动,解决了卡死的问题,但是帖子的回复中答复给出消极信息。此后AMD驱动可能还有后续更新。此外,联想在2024年12月还发布了笔记本的[BIOS更新](https://support.lenovo.com/bd/en/downloads/ds557402-bios-update-for-windows-11-64-bit-thinkbook-14-g4-ara-thinkbook-16-g4-ara),更新文档中有一条值得注意。
|
## 现代待机
|
||||||
|
|
||||||
> 4.Update Rembrandt PI to 1.0.0.Ba
|
[现代待机](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby)是微软在Windows上退出的*新*的待机机制,实际上Windows已经使用了该机制10年以上,也算是经过了一些检验。根据微软的[描述](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-vs-s3),相比传统s3待机,现代待机有以下几个优势:
|
||||||
|
|
||||||
抱着尝试的心态,我更新了[AMD的芯片组驱动](https://www.amd.com/zh-cn/support/download/drivers.html)和联想的BIOS,但是卡死并未好转。
|
- 迅速恢复:可以在1s内恢复工作
|
||||||
|
- 睡眠期间保持后台活动
|
||||||
|
- 无需与bios互动,仅需简单的硬件中断即可实现睡眠
|
||||||
|
|
||||||
经过进一步分析系统电源报告,我发现系统会在**睡眠期间充电至100%后卡死**
|
Windows在使用电源和电池时的现代待机策略时不同的,以下两图反映了计算机在插入交流电源(上图)和使用电池(下图)时的系统被从DRIPS状态中唤醒时间间隔的不同。
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
我选择了比较典型的情况,在上述对比中,使用交流电源时DRIPS状态的中断更加频繁,大部分DRIPS状态的持续时段在8-16s之间,而使用电池时DRIPS状态的持续时段大多数在16mins以上。根据我的经验,当在睡眠期间移除和接入交流电源,会使电脑短暂唤醒,然后重新进入睡眠状态。Windows可能在这期间调整电源使用策略。
|
||||||
|
|
||||||
|
Windows在处理因超时进入睡眠和因用户操作(如电源按钮、关闭笔记本盖子等)进入睡眠的策略也是不同的。如果系统达到设定的空闲时间,系统会先关闭屏幕,再在设定的超时达到后,进入睡眠。 **(如果有音频占用,系统保持关闭屏幕状态,不会进入睡眠,直到因用户操作进入睡眠)** 如果用户做出进入睡眠的操作,Windows会暂停音频流,关闭屏幕的同时进入睡眠。
|
||||||
|
|
||||||
|
## 参考文献
|
||||||
|
|
||||||
|
- [What is Modern Standby](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby)
|
||||||
|
- [Modern Standby vs S3](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-vs-s3)
|
||||||
|
- [Directed power management](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/directed-power-management)
|
||||||
|
- [Modern Standby Basic Test Scenarios](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-basic-test-scenarios)
|
||||||
|
- [Modern Standby FAQs](https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/modern-standby-faqs?source=recommendations)
|
||||||
Loading…
x
Reference in New Issue
Block a user