NDIS.SYS 驱动程序在 Windows 10 中的延迟非常高

NDIS.SYS 驱动程序在 Windows 10 中的延迟非常高

我已经将我的电脑从 Windows 8.1 升级到 Windows 10。安装进展顺利,没有出现任何问题。

我的主板是技嘉GA-B75M-D3H。安装后,我将 Realtek 驱动程序更新为最新的 Windows 10 版本。

在我开始使用新的 Windows 10 后,我遇到了突然冻结的情况,音频或视频播放会在很短的时间内停止。

我使用 LatencyMonitor 和 DPC Latency Checker 检查了驱动程序延迟。

它们都表现出非常高的值(100-200 000,甚至600 0000微秒),而且似乎系统信息系统导致问题。

由于此文件与网络相关,我用另一张 LAN 卡(华硕 PCI LAN 卡)对其进行了测试,它有一个非常不同的驱动程序。

出奇,此 LAN 卡也显示非常高的值(不像 Realtek 那么频繁)。

瑞昱:

Realtek 延迟

华硕:

华硕延迟

我现在应该怎么做?

更新

我再次安装了Windows 10。

我使用设置为自动启动的 torrent 客户端 (uTorrent)。如果我退出客户端,我会得到普通的值。

在此处输入图片描述

我应该在 torrent 客户端中检查哪些参数以避免出现此问题?

答案1

我转储了有关 DPC 的统计数据("C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\xperf.exe" -I highCPUUsage.etl -a dpcisr > dpc.txt),其中显示有 2 个 DPC 非常关键(超过 1024µs):

Total = 19697 for module ndis.sys
Elapsed Time, >      512 usecs AND <=     1024 usecs,      1, or   0.01%
Total,                                                 19697

Total = 7174 for module tcpip.sys
Elapsed Time, >      512 usecs AND <=     1024 usecs,      1, or   0.01%

我检查了 NDIS.sys 调用堆栈,发现涉及了第二方文件。ipgdnd60.sys是华硕千兆网络驱动程序和vfilter.sys(VPN 驱动程序)。更新两者,看看会发生什么。

答案2

我已经确定了 LatencyMon 软件存在的问题。

NIC 的 RSS 队列分布在各个 CPU 核心上,但核心 #0 有很多中断。

DPC 延迟峰值终于消失了:

尝试这个 PowerShell cmdlet:

PS C:\WINDOWS\system32> Get-NetAdapterRss -Name“*”

输出类似这样的内容:

名称:以太网
接口描述:Realtek PCIe GBE 系列控制器
已启用:True
NumberOfReceiveQueues:4
配置文件:NUMAstatic
BaseProcessor:[组:编号]:0:0
MaxProcessor:[组:编号]:0:6
MaxProcessors:4
RssProcessorArray:[组:编号/NUMA 距离]:0:0/0 0:2/0 0:4/0 0:6/0
IndirectionTable:[组:编号]

然后将 NIC 的配置文件设置为“Closest”:
PS C:\WINDOWS\system32> Set-NetAdapterRss -Name "Ethernet" -Profile Closest

再次列出:
PS C:\WINDOWS\system32> Get-NetAdapterRss -Name "*"

名称:以太网
接口描述:Realtek PCIe GBE 系列控制器
已启用:True
NumberOfReceiveQueues:4
配置文件:最近
BaseProcessor:[组:编号]:0:0
MaxProcessor:[组:编号]:0:6
MaxProcessors:4
RssProcessorArray:[组:编号/NUMA 距离]:0:0/0 0:2/0 0:4/0 0:6/0
IndirectionTable:[组:编号]

关于此主题的一些资源:

https://docs.microsoft.com/en-us/powershell/module/netadapter/get-netadapterrss?view=windowsserver2022-ps

https://docs.microsoft.com/en-us/powershell/module/netadapter/set-netadapterrss?view=windowsserver2022-ps

也许值得尝试使用 NUMAstatic 将每个 RSS 队列分配给 0 以外的其他核心,但我没有尝试,因为我的问题已经解决。

答案3

我也遇到了一些问题系统信息系统。我尝试了很多解决方案,但到目前为止都没有真正帮助我,但最近我设法通过以下配置解决了该问题:

相关内容