![CPU 使用率高 - 似乎是在 ACPI.sys 中的 DefPortWriteAcpiRegister 函数中](https://linux22.com/image/1584196/CPU%20%E4%BD%BF%E7%94%A8%E7%8E%87%E9%AB%98%20-%20%E4%BC%BC%E4%B9%8E%E6%98%AF%E5%9C%A8%20ACPI.sys%20%E4%B8%AD%E7%9A%84%20DefPortWriteAcpiRegister%20%E5%87%BD%E6%95%B0%E4%B8%AD.png)
我已经为 CPU 使用率过高的问题苦恼了很长时间,当我完全重启笔记本电脑(DELL Precision M6800,Windows 7,64 位)时,就会出现此问题,它发生在 ACPI.sys 进程中(我通过 Microsoft 的 Kernrate 工具发现此问题),并且 CPU 使用率保持在 9% 到 12% 之间。如果我重启笔记本电脑,问题就会消失。
今天,我在这个论坛看到一篇帖子(解决“系统”进程 CPU 使用率过高的问题) 其中用户 magicandre1981 提供了非常详细的指导来帮助我找到该问题的原因,我发现这非常有帮助。
在安装并运行 magicandre1981 在上述帖子的回答中建议的 WPR 工具后,我得到了附加的 CPU 使用率图表,其中似乎主要问题出在 ACPI.sys 中的函数 DefPortWriteAcpiRegister 中。在另一个论坛中找到的另一篇文章中(https://msfn.org/board/topic/140263-how-to-get-the-cause-of-high-cpu-usage-by-dpc-interrupt/?page=80) magicandre1981(我猜是同一个用户)建议,在这种情况下,问题可能是由于笔记本电脑的温度问题,但我不确定如何检查。如果您能提供任何关于如何解决此问题的进一步建议,我将不胜感激。
答案1
等待了一段时间才得到可能的答案(不幸的是,我没有收到任何答案),我继续搜索,并找到了@qedstar 在此处发布的以下解决方案系统 (ACPI.sys) 总是占用我大约 15-20% 的 CPU:”网络连接 -> 英特尔(R) 以太网连接 I217-LM -> 右键单击属性 -> 配置 -> 电源管理 -> 局域网唤醒部分 -> 禁用魔包唤醒和模式匹配唤醒。“
几天前我尝试过,从那时起已经完全重启了三次,问题似乎已经解决了。
答案2
为了给那些使用 WOL 的人提供一个解决方法,尽管这个漏洞存在了很长时间,而英特尔和微软却不愿意修复,我给你提供了一个解决方案,即在系统唤醒过程的早期关闭 wol,然后再打开。我建议你确认关闭 wol“唤醒魔术包”确实可以减少你过度的 CPU 使用率。在我的场景中,“唤醒模式匹配”是关闭的。
我添加了一个任务,在唤醒时运行批处理文件(日志:系统,来源:内核电源,事件 ID:131)。确保检查:无论用户是否登录都运行,以及:以最高权限运行。
批处理文件如下(使用您自己的路径):
powershell -ExecutionPolicy Bypass -File "C:\Users\%username%\Documents\woldisable.ps1"
pathping 本地主机-n -q 1 -p 50 > nul 2>&1
powershell -ExecutionPolicy 绕过 -File "C:\Users\%username%\Documents\wolenable.ps1"
woldisable.ps1 如下(您可能需要更改名称:“以太网”是有线互联网连接的默认 Windows 10 名称,请在“网络和 Internet 设置”下检查):
Set-NetAdapterAdvancedProperty -Name“以太网”-DisplayName“魔术包唤醒”-DisplayValue“已禁用”-NoRestart
wolenable.ps1如下:
Set-NetAdapterAdvancedProperty -Name“以太网”-DisplayName“魔术包唤醒”-DisplayValue“已启用”
我认为您可以从一开始就调用 .ps1 文件并绕过批处理,但这对我来说是可行的,所以我暂时就这样保留它。