
这是我第一次在这里发帖,我已经阅读了所有我能找到的关于这个主题的内容(不仅仅是在这里),但到目前为止没有任何内容可以解决我的情况,我在 PC 构建/维修方面有 30 年的经验,这是我第一次不得不放弃,所以我谦虚地在这里寻求建议。
我有一台全新的 Skylake Z170 电脑,全新安装 Win 10 PRO + 所有更新的驱动程序(来自制造商网站)和很少的程序。这台机器用于照片编辑,我尽量保持一切干净,没有防病毒软件(大部分离线工作),没有过度安装的软件,只有严格的基本必需品。
硬件(使用两个月)很稳定,原装时钟,我运行了 Memtest86 8 次(一天半),没有出现任何错误,从未出现过一次 BSOD。
11 月,在 Win 10 10586 更新后,我开始注意到空闲时“系统和压缩内存”始终以大约 12%-13% 的 CPU 使用率运行(CPU 0 已满载)。我竭尽全力调试该问题,卸载了所有内容,检查/调整了所有内容,但没有任何结果,但经过几天的调整后,问题消失了,我无法确切了解原因。无论如何,一旦系统修复,我就开始重新安装驱动程序和应用程序,检查每个步骤是否再次出现问题,一切都很好。
直到上周为止,该电脑一直运行正常。
据我记忆,我进行了一些小的 Windows 更新、BIOS 更新(用于修复 Prime95 与最新 CPU 微代码的问题)并更新了最新的 Nvidia 驱动程序和 X-rite 屏幕校准程序。在某个时候(不是特定的),我再次注意到了奇怪的问题,该死的“系统和压缩内存”的 CPU 使用率达到 12%-13%,总是在启动后立即发生,就像以前发生的那样。
我恢复了所有更改,也恢复了之前的 BIOS 和设置,但问题没有解决。硬件没有任何变化。
此时我具有以下设置: - Win 10 Pro(10586.63) - 禁用页面文件 - 禁用 SuperFetch - 禁用睡眠和休眠 - 最大性能上的电源配置文件 - 禁用 Cortana 和索引以及任何可能的后台操作 - 禁用 RunFullMemoryDiagnosticEntry 表单任务计划程序,如 Superuser 上的另一个答案所建议的那样 - 在 BIOS 中禁用英特尔显卡并且没有安装任何驱动程序 - 所有驱动程序都已更新 - 系统 100%干净,只安装了几个原始的受信任程序,从未用于浏览或除 Windows 更新之外的任何其他互联网活动。
更糟糕的是,我可以告诉你,即使在安全模式下启动,该问题仍然存在。
我使用 WPR 运行了几次 CPU 跟踪,其中一个甚至处于安全模式,相关的 ETL 在此处提供: 安全模式下的 ETL CPU 跟踪 zip 文件
从我在 WPA 分析中看到的情况来看,罪魁祸首是 hal.dll -> HalpReadPCIConfig 函数,如以下屏幕截图所示
我曾尝试调查这是否是 PCI 冲突,但硬件没有改变,相同的硬件、BIOS 和设置运行了一个多月都没有出现问题,所以我倾向于排除硬件原因。另一方面,即使在安全模式下也会出现这个问题,这也排除了驱动程序的怀疑,所以……不知道……
是的,我承认我已经达到了极限,如果您有任何建议,请让我看到希望,我唯一要避免的就是完全重新安装,因为我配置了很多小东西,我真的很不想再做这些事情,至少在没有找到导致问题原因的明确答案之前:我不会冒险重新安装和设置所有内容,然后仍然有可能再次看到这种情况发生,因为我还没有找到真正的原因(没有明显解释的出现/消失的现象确实令人担忧)...
抱歉,帖子太长了,我希望这不会被视为重复的问题,因为我已经尝试了其他答案中提供的所有解决方法,但都没有成功。
提前谢谢了。
再见。
安德里亚:)
答案1
经过大量的调试工作,我决定在这里给出一个初步答案,并描述我所做的事情,因为我能够解决这个问题。在我看来,这应该只是一种临时解决办法,因为考虑到过去反复出现的行为,我想控制好事情,看看未来的 windows/drivers/bios 更新会发生什么,然后再宣布最终胜利。
我开始进行一系列 PC 重启,每次都进入 BIOS 并逐一禁用所有主板设备。每次我都会累计禁用一个设备,然后启动 Windows,因为我想要一个循序渐进的工作流程,以便准确识别有问题的资源。
- 禁用 CPU VtD、快速启动、徽标、块号、可信平台、电源管理、局域网唤醒、BIOS 保护:无效果
- 禁用串行端口:无效果
- 禁用CPU集成显卡:无影响
- 禁用未使用的 SATA 端口:无效果
- 禁用板载 Realtek 音频:无效果
- 禁用板载 Thunderbolt 3(Intel Alpine Ridge)控制器:无影响
- 完全禁用英特尔 SATA 控制器(仍然能够从 PCI nvme SSD 启动):无影响
- 禁用板载英特尔网络适配器和“IOAPIC 24-119 条目”(注意:此时仅启用了 CPU、PCI 插槽和 USB 端口,无法进一步操作):已解决!
上次 Windows 重启后,CPU 占用率为 0.2%,并且“系统和压缩内存”再也没有上升。
遗憾的是,在最后一步,我同时禁用了两个,而不是单独禁用一个。
之后,我开始以相反的顺序逐步重新启用所有相关设备,问题再也没有出现。这真的很好奇,这让我无法复制此时的效果。
但是,现在这几天 PC 运行正常,我进行了一些小的 Windows 更新,一切正常。我还没有尝试更新到最新的 Nvidia 驱动程序(昨天发布的 361.75),但目前我会等待,因为我不想重新校准我的显示器,而且我发现添加的初步 Thunderbolt 3 支持存在一些问题,所以我将跳过这一步。
结论:正如我所怀疑的那样,调试工作向我证实了这个问题并非严格意义上的硬件问题(故障或冲突),也不是相关的驱动程序问题(因为即使在安全模式下也存在)。在这种情况下,一旦再次启用冲突设备,它应该会重新出现。
我强烈认为,过去(两次)Windows 配置中出现了问题,可能是在 Windows/驱动程序/BIOS 更新期间,由于 Windows 资源管理的错误行为。发生这种情况后,很难正确地“覆盖”设置,即使有选择性地禁用硬件也是如此。
在释放大量资源/irq 并禁用所有设备后,我认为最终的解决因素是禁用 IOPIC 24-119 条目重新映射:这可能迫使 Windows 从头开始重新分配其资源配置,并且成功完成。此后,即使再次启用 bios 设置和 mb 设备,也会导致最终更好的配置,而不会再次错误地触发“系统和压缩内存”高 CPU 负载(这是由 hal.dll -> PCI 内容引起的,如 ETL 跟踪中所示)。
由于目前无法再次复制该现象,我将暂时将整个问题置于待命状态。
如果发生其他事情或者我发现更多值得分享的内容,我会持续更新此帖子。
我仍然希望您能够欣赏我的努力并且所描述的结果能够对其他人有用。
谢谢,再见。
安德里亚:)
答案2
我在使用 w10 的 Skylake 新平台上遇到了同样的问题。使用 Gigabyte Z170-UD5 TH 和 F3 bios 时,空闲状态下 CPU 使用率为 0%,当我更新到 F4 或 F5 bios 时,系统每次负载都开始达到 15%。
我在 bios 中禁用了英特尔内部网络适配器,并以 0% CPU 使用率启动了 w10。再次重新启用后,CPU 使用率仍为 0%。
答案3
您的 CPU 使用率来自 ACPI.sys 驱动程序,该驱动程序执行所有 DPC(ntoskrnl.exe!KiRetireDpcList
ACPI.sys!ACPIInterruptDispatchEventDpc
),随后调用 HAL.dll(hal.dll!HalpAcpiPmRegisterWritePort
)。这很难调试。
更新 BIOS/UEFI,加载默认 UEFI 设置,查找驱动程序更新,将 GPU 插入不同的 PCIe x16 插槽。还可以尝试不同的 NVMe 驱动程序。
答案4
我遇到了这个问题,导致它运行非常缓慢。我认为这可能是Windows Defender的和系统和压缩内存。
我禁用了Windows Defender的然后重新启用它。它似乎稳定下来了,计算机正常工作。