Trae分析(电源管理事件报告)

电源报告

  • script\studyreport\20260116_085314_BatteryReport.html
    • 太宏观,只能看个电量曲线,看不到是谁耗电。
  • script\studyreport\20260116_085314_SystemPowerReport.html
    • 分析 Windows 睡眠/待机问题最权威、最核心的“黑匣子”
    • 看死因 :Thermal (热)、Budget (电量耗尽)、Abnormal (崩了)。
    • 看凶手 :Top Offenders (Fx Device 驱动、Activator 软件)。
    • 看模式 :是不是每次都在 55分钟 准时死(这直接指向固件/阈值问题)。
  • script\studyreport\20260116_085314_SystemSleepDiagnostics.html
    • 太底层,全是寄存器和状态机代码,给内核开发人员看的。
  • Event Viewer
    • 只能告诉你“什么时候死了”(6008),但永远不会告诉你“为什么死”(比如是谁阻止了睡眠)。

trae解析脚本

script\studyreport\analyze_sleepstudy.py

trae解析关键信息

(miniconda3)PS D:\codeTrae\TraeProject\windows_power_manager> C:/Users/cat/miniconda3/Scripts/activate
(miniconda3)PS D:\codeTrae\TraeProject\windows_power_manager> conda activate winpm314
(winpm314)PS D:\codeTrae\TraeProject\windows_power_manager> & D:/codePython/python/anaconda3/winpm314/python.exe d:/codeTrae/TraeProject/windows_power_manager/script/studyreport/analyze_sleepstudy.py
Analyzing (Brute Force Mode): 20260116_085314_SystemPowerReport.html

=== 1. Failure Patterns Confirmed ===
 [YES] Duration '0:55:41' found (Thermal Trip signature)   
 [YES] Energy '3,834 mWh' found (Battery Budget signature) 
 [YES] 'Abnormal Shutdown' found

=== 2. Global Hardware/Driver Extraction ===
 [!] No 'Fx Device:' patterns found. Trying 'Activator:'...

=== 3. Suspicious Device Name Scraper ===
Hardware devices found in tables (Frequency):
 [12] AMD Radeon 780M Graphics (\_SB.PCI0.GP17.VGA)
 [7] PCI Express 根端口 (\_SB.PCI0.GPP8)
 [5] PCI Express 根端口 (\_SB.PCI0.GPP1)
 [3] \Device\HarddiskVolume2\Windows\System32\WUDFHost.
 [3] Microsoft.Windows.ShellExperienceHost_10.0.19041.5
 [2] \Device\HarddiskVolume2\Windows\System32\svchost.e
 [1] Microsoft.Windows.StartMenuExperienceHost_10.0.190
 [1] \Device\HarddiskVolume2\Windows\System32\SearchPro
(winpm314)PS D:\codeTrae\TraeProject\windows_power_manager>    

Trae对睡眠自动关机的分析

我们终于抓到了!

请看这几个数字:

  1. [12] AMD Radeon 780M Graphics (_SB.PCI0.GP17.VGA)
  2. [7] PCI Express 根端口 (_SB.PCI0.GPP8)
  3. [5] PCI Express 根端口 (_SB.PCI0.GPP1) 这三个设备在你的电源报告里反复出现,且频率极高(12次、7次、5次)。它们就是导致系统无法进入低功耗状态(D3/D-State),最终导致 4W 高功耗并触发热关机的真凶。

罪证分析

  • AMD Radeon 780M Graphics : 显卡。如果它在待机时一直醒着(D0),或者频繁唤醒,SoC 就永远无法进入深睡。
  • PCI Express 根端口 (_SB.PCI0.GPP1) : 这个端口通常挂载着 NVMe SSD 。
  • PCI Express 根端口 (_SB.PCI0.GPP8) : 这个端口通常挂载着 无线网卡 (Wi-Fi) 或者其他高带宽设备。 

场景还原

  • 你合盖,系统尝试进入 Modern Standby。
  • 显卡驱动 (AMD 780M) 或者 GPP1 上的设备 (NVMe) 拒绝进入 D3 状态,或者进入后立刻被唤醒。
  • 系统被迫保持在“假死”状态:屏幕关了,但 PCIe 总线全速运转,CPU 被迫维持 C0/C1 状态来处理 PCIe 中断。
  • 整机功耗飙升到 4W+ 。
  • 持续 55分41秒 后,累计耗电达到 3834 mWh (这可能是电池管理的硬阈值,比如“待机最多允许消耗 5% 电量”)。
  • 系统判定“待机严重异常”,触发 自适应保护 ,强制断电关机(Thermal/Budget Trip)。
  • 待机预算 (Standby Budget Percent) 是直接触发关机的“扳机”,但 4W 功耗是扣动扳机的“手指”。

“风扇一直转” 这个现象是绝对的铁证。

  • 正常的 Modern Standby (S0ix) 状态下,CPU 会进入极低功耗状态(C10),整机功耗 <1W,风扇是绝对 不应该转 的,甚至应该完全停转。
  • 如果风扇在转,说明 CPU 还在干活,甚至可能处于 C0(全速)状态,只是屏幕关了而已。这就是所谓的 “假死” 或 “失眠 (Insomnia)” 。
  • 你的两个方向:
    • 1. 提高待机预算 (StandbyBudgetPercent -> 100%) :  
        - 后果 :风扇会在背包里转几个小时,直到电池耗尽或者热保护关机。
        - 评价 :这是 下策 。你虽然避免了“55分钟自动关机”,但换来的是“发烫的背包”和“拿出来就没电的电脑”。这不仅伤电池,还有安全隐患。
    • 2. 降低待机功耗 (解决风扇转的问题) :  
        - 目标 :让 CPU 真正睡着,风扇停转,功耗降到 0.5W 以下。
        - 后果 :
          - 5% 的预算可以撑 10+ 小时。
          - 背包里是凉的。
          - 拿出来电量几乎没掉。
        - 评价 :这是 上策 ,也是唯一正确的解法。

解决方案:针对性打击

既然知道是 AMD 显卡和 PCIe 端口(硬盘/网卡)的问题,我们就不再调 powercfg 了,而是去 设备管理器 和 驱动层 解决。

  1. 禁用 AMD 显卡的“唤醒”权限(如果可选)
    1. 这很难,因为显卡通常没有“允许此设备唤醒计算机”的选项。但可以尝试更新或 回退 显卡驱动。你说过“重装 AMD 驱动后好了一阵子,然后又不行了”,这说明 Windows Update 可能偷偷给你推了一个有 bug 的 AMD 驱动 。
    2. 建议 :去 AMD 官网下载最新的 Adrenalin 驱动(或者 OEM 提供的旧版稳定驱动),断网安装,并禁止 Windows 自动更新显卡驱动。
  2. 处理 PCIe GPP1 (NVMe)
    1. NVMe 硬盘 是 Modern Standby 的头号杀手。
    2. 操作 :在“电源选项 -> 更改计划设置 -> 更改高级电源设置”里:
    3. PCI Express -> 链接状态电源管理 :
    4. 电池: 最大电源节省量 (Maximum power savings) 。(你之前说是“关闭”,这可能是导致它不进 D3 的原因!)
    5. 接电:最大电源节省量(或中等)。
    6. 重要 :一定要设为 Maximum power savings ,否则 PCIe 链路可能一直保持 L0 激活状态,导致 SoC 无法深睡。
  3. 处理 PCIe GPP8 (可能是网卡)
    1. 去设备管理器,找到 无线网卡 (MediaTek / Intel / Realtek)。
    2. 右键 -> 属性 -> 电源管理 。
    3. 取消勾选 “允许此设备唤醒计算机”(如果你的需求允许)。
    4. 勾选 “允许计算机关闭此设备以节约电源”。

总结建议

你的问题 100% 是硬件驱动(显卡 + PCIe设备)在 Modern Standby 下无法正确进入 D3cold 导致的 。

请立即执行以下操作:

  1. 电源选项 :把 PCI Express 链接状态电源管理 (电池模式)改为 “最大电源节省量” 。这是最可能直接解决 GPP1/GPP8 问题的开关。

  2. AMD 驱动 :检查是否有驱动更新,或者回退到一个你记得“曾经正常”的版本。

  3. 再测一晚 :做完这两步,再合盖睡一晚。如果第二天早上没有 6008,那就成了。