我已经将我的电脑从 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 那么频繁)。
瑞昱:
华硕:
我现在应该怎么做?
更新
我再次安装了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:[组:编号]
关于此主题的一些资源:
也许值得尝试使用 NUMAstatic 将每个 RSS 队列分配给 0 以外的其他核心,但我没有尝试,因为我的问题已经解决。
答案3
我也遇到了一些问题系统信息系统。我尝试了很多解决方案,但到目前为止都没有真正帮助我,但最近我设法通过以下配置解决了该问题:
- 启用 NIC 中断审核
- 将 NIC 中断调节率设置为极端
- 启用接收段合并(以管理员身份运行 powershell 以下命令
Set-NetOffloadGlobalSetting -ReceiveSegmentCoalescing Enabled