Системные прерывания. Когда это слишком?

Это должно указать вам правильное направление:

$ for i in {1..3}; do for j in {x..z}; do echo ${i}_${j}; done; done
1_x
1_y
1_z
2_x
2_y
2_z
3_x
3_y
3_z
0
16.12.2019, 20:57
1 ответ

В /proc/interruptsи подобных прерывания выражаются в виде счетчиков, то есть «~170 000 прерываний, обслуженных с момента последней перезагрузки». Без знания того, как долго система находится в рабочем состоянии, такой счетчик почти полностью бессмыслен. Что может быть важным, так это количество прерываний в единицу времени или частота прерываний .

На VPN-маршрутизаторе прерывания в основном генерируются сетевыми картами, сигнализирующими о том, что их входной буфер (или, например,. текущая цель DMA для входящих пакетов определенного потока, для более продвинутых сетевых адаптеров серверного -класса )заполняется. Если VPN-маршрутизатор не сможет вовремя обработать все свои прерывания, вы, вероятно, начнете наблюдать потерю пакетов при соединениях, проходящих через VPN, или, возможно, сбои и повторные подключения реального VPN-туннеля (с ).

Очень простая сетевая карта может просто иметь входной буфер для X принятых пакетов и генерировать прерывание всякий раз, когда буфер почти заполнен, что приводит, например, к. прерывание для каждого (X -n )полученных пакетов. Более продвинутая сетевая карта, вероятно, будет способна выполнять DMA-передачи самостоятельно, поэтому процессор может в основном сказать сетевой карте: «Вот вам блок памяти; поместите все входящие пакеты (для определенной комбинации исходного адреса/протокола/порта. )и не беспокойте меня, пока либо блок памяти не заполнится, либо что-то пойдет не так с передачей», что приводит к гораздо меньшему количеству прерываний на единицу передаваемых данных. Таким образом, точный тип используемых сетевых адаптеров может иметь большое влияние на количество прерываний, генерируемых данной рабочей нагрузкой VPN-трафика.

Если процессор не способен своевременно обработать прерывание, это может привести к потере входящих пакетов, поскольку сетевой карте негде их хранить. Когда количество прерываний в единицу времени становится выше,вы должны увидеть, что процент процессорного времени, используемого системой , соответственно увеличивается.

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

В зависимости от выбранной вами конкретной реализации VPN значение «Средняя загрузка ЦП» может быть или не быть полезным индикатором того, насколько интенсивно работает система, поскольку большая часть обработки, связанной с VPN -, может выполняться внутри ядро.

1
28.01.2020, 02:38

Теги

Похожие вопросы