Задать вопрос

CPU interrupts как распределить нагрузку по ядрам?

Здравствуйте!
Имеется машина:
FreeBSD gw-1 10.2-RELEASE FreeBSD 10.2-RELEASE
Работает она в качестве роутера. Столкнулись с проблемой следующего вида:
07d9afaa50bb47faaed5999b82762888.jpg

Как видим на скрине вывод команды top -P CC львиную долю прерываний обрабатывают только 4 ядра из 24-х (реальных 12 (2 физических процессора по 6 ядер)).
Как видим на скрине 4 ядра обслуживают в районе 85% прерываний, остальные "отдыхают".
Подскажите пожалуйста как раскидать прерывания по ядрам т.к. когда нагрузка на 4-х ядрах в районе 70-90% начинаются дикие тормоза с сетью.
  • Вопрос задан
  • 2814 просмотров
Подписаться 7 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
jamakasi666
@jamakasi666 Куратор тега Linux
Просто IT'шник.
1) Для начала отключить все ненужные девайсы через биос(встроенная сетевушка\звук...). 2) Выкинуть любые сетевушки и поставить нормальную от интела(bsd и вообще линуксовые да и вообще все очень любят интеловские карточки).
3) Покопаться в биосе и включить что то типа "interrupt swizzling"
Ответ написан
Jump
@Jump
Системный администратор со стажем.
как распределить нагрузку по ядрам?
Распределить можно только путем анализа и выбора нужных приложений.
Т.е если конкретное приложение умеет работать с одним ядром, и при этом занимает кучу ресурсов роутера, его нужно поменять, или отказаться от его использования.
Ответ написан
Комментировать
@kaN5300
1. Покажите ifconfig. Нужно понять на каком драйвере сетёрви работает ядро и заодно узнать сколько очередей макс поддерживает чип ника.

2. Настоятельно рекомендую отрубать к чертям HT в биосе ибо на роутерах это абсолютно ненужная штука. Повышения производительности в маршрутизации вы с помощью трединга не добьётесь.

2. Там только форвард или есть ещё наты и пайпы? Не все наты одинакого полезны. libalias параллелится например в отличие от натд.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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