Сеть с высокой пропускной способностью и процесс системных прерываний Windows

Я пишу массивное сетевое приложение UDP. Трафик работает на скорости 10 гигабит в секунду. У меня очень высокая загрузка ЦП «Системные прерывания» в диспетчере задач.

Читая о том, что это значит, я вижу:

Что такое процесс «системных прерываний»?

Системные прерывания — это официальная часть Windows, и хотя они отображаются как процессы в диспетчере задач, на самом деле это не процессы в традиционном смысле. Скорее, это совокупный заполнитель, используемый для отображения системных ресурсов, используемых всеми аппаратными прерываниями, происходящими на вашем ПК.

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

Однако, поскольку запись «системные прерывания» коррелирует с высоким использованием IRQ, возможно, это должно быть высоким, учитывая мое большое использование сети UDP.

Кроме того, действительно ли все это происходит на одном ядре процессора? Или это совокупность всего, что происходит на всех ядрах ЦП.


person eshalev    schedule 11.04.2017    source источник
comment
Как вы думаете, почему это происходит на одном ядре процессора?   -  person Luaan    schedule 11.04.2017


Ответы (1)


Если у вас есть много отдельных дейтаграмм, отправляемых по UDP, это, безусловно, вызовет много аппаратных прерываний и большую загрузку ЦП. 10 Гб, безусловно, находятся в диапазоне «много ресурсов ЦП», если ваши дейтаграммы относительно малы.

У каждого процессора есть свои аппаратные прерывания. Вы можете увидеть, насколько распределена нагрузка по ядрам на вкладке производительности — красная линия — это процессорное время ядра, которое включает аппаратные прерывания и другую низкоуровневую обработку сокетов операционной системой.

person Luaan    schedule 11.04.2017