连接 eGPU 后“系统”CPU 过高且响应迟缓

连接 eGPU 后“系统”CPU 过高且响应迟缓

当我将嵌入英特尔显卡的联想笔记本电脑连接到驱动所有显示器的 eGPU 底座(Nvidia)时,CPU 使用率仍然很高,内核(“系统”)始终消耗超过 8% 的 CPU。

使用procexp查看内核线程,我可以看到许多同时调用PoFxReportDevicePoweredOn,这让我怀疑驱动程序有问题。不过,我猜测要禁用随机驱动程序,但并没有找到问题所在。

我如何才能找到行为异常的驱动程序?

答案1

您可以xperf使用以下方式运行跟踪来捕获驱动器电源事件:

C:\> xperf.exe -start power_session -on Microsoft-Windows-Kernel-Power
C:\> timeout 15
C:\> xperf.exe -stop power_session
C:\> xperf.exe -i c:\user.etl > c:\power_log.txt
C:\> start c:\power_log.txt

在日志中搜索以(开头Microsoft-Windows-Kernel-Power/Irp/win:Start和结尾的行0代表向D0电源状态的转换)。无论呼叫什么,PoFxReportDevicePoweredOn都会列出其设备路径。

Microsoft-Windows-Kernel-Power/Irp/win:Start,  TimeStamp,     Process Name ( PID),   ThreadID, CPU, etw:ActivityId, etw:Related ActivityId, etw:UserSid, etw:SessionId, Irp, PowerStateType, MinorFunction, TargetDevice, InstanceNameLength, InstanceName, PowerState
Microsoft-Windows-Kernel-Power/Irp/win:Start,      15417,        "Unknown" (   4),         20,   2, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 0
Microsoft-Windows-Kernel-Power/Irp/win:Start,      93924,        "Unknown" (   4),        660,   1, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 3
Microsoft-Windows-Kernel-Power/Irp/win:Start,     442694,        "Unknown" (   4),         20,   0, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 0
Microsoft-Windows-Kernel-Power/Irp/win:Start,     506018,        "Unknown" (   4),        660,   0, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 3
Microsoft-Windows-Kernel-Power/Irp/win:Start,     856490,        "Unknown" (   4),         20,   3, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 0
Microsoft-Windows-Kernel-Power/Irp/win:Start,     934942,        "Unknown" (   4),        660,   0, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 3
Microsoft-Windows-Kernel-Power/Irp/win:Start,    1296908,        "Unknown" (   4),         20,   6, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 0
Microsoft-Windows-Kernel-Power/Irp/win:Start,    1377503,        "Unknown" (   4),        660,   0, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 3
Microsoft-Windows-Kernel-Power/Irp/win:Start,    1724611,        "Unknown" (   4),         20,   3, , , , , 0xffffaa0804fb1c20, 1, 2, 0xffffaa07fd742ca0, 60, "PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10", 0

您可以使用以下命令获取设备的描述Get-PnPDevice

PS C:\WINDOWS\system32> Get-PnPDevice 'PCI\VEN_8086&DEV_5917&SUBSYS_225917AA&REV_07\3&11583659&0&10'

Status     Class           FriendlyName                                                                     InstanceId
------     -----           ------------                                                                     ----------
OK         Display         Intel(R) UHD Graphics 620                                                        PCI\VEN_...

就我而言,罪魁祸首是“Intel(R) UHD Graphics 620”,它在 D3(睡眠)和 D0(开机)之间快速转换。由于 eGPU 正在驱动所有显示器,因此我在设备管理器中禁用了 Intel 图形驱动程序,问题就解决了。

答案2

我遇到了同样的问题,通过以下解决方法解决了该问题:

在 NVIDIA 控制面板的管理 3D 设置下,配置您通常运行的应用程序之一以使用 NVIDIA GPU。

这将阻止 GPU 切换到省电模式并永久唤醒。

我在这个帖子中找到了解决方法: https://answers.microsoft.com/en-us/windows/forum/all/high-cpu-usage-by-process-called-system/0714de1f-8ee6-4b5a-928e-1f1989e12414

相关内容