Драйвер NDIS.SYS очень высокая задержка в Windows 10

Я обновил свой компьютер с Windows 8.1 до Windows 10. Установка прошла успешно, никаких проблем не произошло.

Моя материнская плата - Gigabyte GA-B75M-D3H. После установки я обновил драйверы Realtek до последней версии Windows 10.

После того, как я начал использовать новую Windows 10, у меня возникли внезапные зависания, воспроизведение аудио или видео было остановлено на очень короткое время.

Я проверил задержки драйвера с помощью LatencyMonitor и DPC Latency Checker.

Они оба показали очень высокие значения (100-200 000, даже 600 0000 микросекунд), и кажется, что проблема связана с NDIS.SYS.

Поскольку этот файл связан с сетью, я протестировал его с другой сетевой картой (сетевой картой ASUS PCI LAN), у него совершенно другой драйвер.

Удивительно, но эта сетевая карта также показывает очень высокие значения (не так часто, как Realtek).

Realtek:

ASUS:

Что мне теперь делать?

ОБНОВИТЬ

Я снова установил Windows 10.

Я использую торрент-клиент (uTorrent), который настроен на автозапуск. Если я выйду из клиента, я получу нормальные значения.

Какой параметр я должен проверить в моем торрент-клиенте, чтобы избежать проблемы?

3 ответа

Я сбросил статистику о ЦОД ("C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\xperf.exe" -I highCPUUsage.etl -a dpcisr > dpc.txt) и это показывает 2 DPC, которые являются критическими (более 1024 мкс):

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 это сетевой драйвер ASUS Gigabit и vfilter.sys (Драйвер VPN). Обнови оба и посмотри что получится.

Я обнаружил проблему с программным обеспечением LatencyMon.

Очередь RSS сетевой карты распределена по ядрам ЦП, но у ядра №0 много прерываний.

Всплески задержки DPC наконец-то исчезли:

Попробуйте этот командлет PowerShell:

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

Выведите что-то вроде этого:

Имя:
Интерфейс EthernetОписание: Контроллер семейства 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: [Group:Number]

Затем установите для профиля сетевого адаптера значение «Ближайший»:
PS C:\WINDOWS\system32> Set-NetAdapterRss -Name «Ethernet» -Profile Closest

Список еще раз:
PS C:\WINDOWS\system32> Get-NetAdapterRss -Name "*"

Имя:
Интерфейс EthernetОписание: Контроллер семейства Realtek PCIe GBE
Включено: True
NumberOfReceiveQueues: 4
Профиль: Ближайший
базовый процессор: [Группа:Номер]: 0:0
MaxProcessor: [Группа:Номер]: 0:6
MaxProcessors: 4
RssProcessorArray: [Группа:Номер] /NUMA Расстояние]: 0:0/0 0:2/0 0:4/0 0:6/0
IndirectionTable: [Group:Number]

Некоторые ресурсы по этой теме:

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

Возможно, стоит попробовать назначить каждую очередь RSS другим ядрам, отличным от 0, с помощью NUMAstatic, но я не пробовал, потому что моя проблема решена.

У меня также были некоторые проблемы с ndis.sys . Я перепробовал множество решений, и пока ни одно из них мне не помогло, но недавно мне удалось решить проблему с помощью следующих конфигураций:

Другие вопросы по тегам