Перейти к содержимому
Калькуляторы

Freebs 8.2 igb high cpu system load

Здравствуйте!

Есть бордер (ipfw NAT, dummynet шейпер) вот такого вида

i5-4460  CPU @ 3.20GHz
4Gb RAM
Freebsd 8.2
Intel(R) PRO/1000 Network Connection version - 2.2.3 - igb

Применен стандартный тюнинг loader.conf sysctl.conf для igb

 

На нем подсети для абонентов натятся в пул из 48 белых ip. Большую часть времени по нагрузке все нормально, но иногда, в часы пик, вылазит вот такое

 

   0 root          -68    0     0K   240K -       2  72.2H 36.23% {igb1 que}
   0 root          -68    0     0K   240K -       1  73.2H 35.35% {igb1 que}
   0 root          -68    0     0K   240K -       3  71.6H 33.59% {igb1 que}
   0 root          -68    0     0K   240K -       0  82.0H 29.79% {igb1 que}

 

В целом по системе

last pid: 74549;  load averages:  4.03,  4.21,  4.21                                                          up 129+13:25:47 20:13:49
148 processes: 16 running, 113 sleeping, 19 waiting
CPU 0:  1.9% user,  0.0% nice, 46.3% system, 42.6% interrupt,  9.3% idle
CPU 1:  0.0% user,  0.0% nice, 35.2% system, 55.6% interrupt,  9.3% idle
CPU 2:  0.0% user,  0.0% nice, 44.4% system, 53.7% interrupt,  1.9% idle
CPU 3:  0.0% user,  0.0% nice, 31.5% system, 61.1% interrupt,  7.4% idle
Mem: 200M Active, 1207M Inact, 652M Wired, 12K Cache, 405M Buf, 1759M Free
Swap: 4096M Total, 4096M Free

 PID USERNAME      PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
  12 root          -68    -     0K   448K CPU2    2 609.6H 55.86% {irq258: igb0:que}
  12 root          -68    -     0K   448K CPU3    3 615.3H 51.17% {irq259: igb0:que}
  12 root          -68    -     0K   448K CPU0    0 384.1H 50.24% {irq256: igb0:que}
  12 root          -68    -     0K   448K WAIT    1 604.1H 46.44% {irq257: igb0:que}
   0 root          -68    0     0K   240K -       2  72.2H 36.23% {igb1 que}
   0 root          -68    0     0K   240K -       1  73.2H 35.35% {igb1 que}
   0 root          -68    0     0K   240K -       3  71.6H 33.59% {igb1 que}
   0 root          -68    0     0K   240K -       0  82.0H 29.79% {igb1 que}
   0 root          -68    0     0K   240K -       0 1496.6 14.60% {dummynet}
   0 root          -68    0     0K   240K -       1  42.5H 10.64% {igb0 que}
  11 root          171 ki31     0K    64K RUN     1 2284.2  8.40% {idle: cpu1}
  11 root          171 ki31     0K    64K RUN     3 2292.1  6.69% {idle: cpu3}
  11 root          171 ki31     0K    64K RUN     2 2286.5  5.18% {idle: cpu2}
  11 root          171 ki31     0K    64K RUN     0 1074.8  3.37% {idle: cpu0}
   0 root          -68    0     0K   240K RUN     1  23.6H  2.54% {igb0 que}
  12 root          -68    -     0K   448K WAIT    1  76.6H  2.39% {irq262: igb1:que}
  12 root          -68    -     0K   448K RUN     0  78.1H  2.34% {irq261: igb1:que}
   0 root          -68    0     0K   240K -       3  25.0H  2.05% {igb0 que}
  12 root          -68    -     0K   448K RUN     3  77.1H  2.00% {irq264: igb1:que}
  12 root          -68    -     0K   448K RUN     2  77.5H  1.90% {irq263: igb1:que}
   0 root          -68    0     0K   240K -       2  24.1H  0.93% {igb0 que}
  13 root           44    -     0K    32K sleep   1  66:39  0.68% {ng_queue0}
  12 root          -32    -     0K   448K RUN     0  29.1H  0.54% {swi4: clock}

 

igb1 это сетевая, которая смотрит внутрь локальной сети, и обычно процессы igb1 que не нагружают проц больше чем на доли %

 

Трафик на сетевой в это время

netstat -w1 -h -I igb1
           input         (igb1)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
      46K     0     0        15M        64K     0        78M     0
      38K     0     0        12M        55K     0        68M     0
      41K     0     0        13M        59K     0        73M     0

 

 

На что обратить внимание, что может так загружать эту сетевую?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновить систему.

И начать разбираться, откуда от абонентов прилетает мультикаст.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Обновить систему.

И начать разбираться, откуда от абонентов прилетает мультикаст.

 

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

Значимого количества мультикаста от абонов нет, один пакет в пару секунд не в счет, вот статистика на порту из сети на igb1 в сторону этого сервера

Output packets statistics:
   14147591214 output packets, 5726773091420 bytes, 0 underruns
   1262240916 unicast packets, 146773 multicast packets, 301637 broadcast packets

Что вообще обрабатывается в процессах {igb1 que}? Какой трафик попадает туда а не в {irqххх: igb1:que}?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

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

Неправильное следствие.

Некоторые ОС более спокойнее реагируют на мусор.

 

Значимого количества мультикаста от абонов нет, один пакет в пару секунд не в счет, вот статистика на порту из сети на igb1 в сторону этого сервера

 

Начинайте снимать статистику пакетов с коммутатора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Начинайте снимать статистику пакетов с коммутатора.

 

приведеные данные именно с порта коммутатора, в который включена igb1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Со ссылками ознакомлен. По ним, и не только, ответа на основной вопрос - Что вообще обрабатывается в процессах {igb1 que}? Какой трафик попадает туда а не в {irqххх: igb1:que}? нету. Вообще в найденных темах ни у кого нагрузки такого вида не вылазит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Со ссылками ознакомлен. По ним, и не только, ответа на основной вопрос - Что вообще обрабатывается в процессах {igb1 que}? Какой трафик попадает туда а не в {irqххх: igb1:que}? нету.

При включённом фастфорвадинге там обрабатывается всё что приходит с этого интерфейса, там и правила шейпера и фаерволы и нетфлоу и хз что у тебя ещё.

Если очень хочется смотреть что грузит проц:

один раз: kldload hwpmc

и периодически во время загрузки: pmcstat -TS instructions -w1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ещё полезна небольшая доработочка ipfw nat (точнее, libalias) для лимитирования количества трансляций:

/usr/src/sys/netinet/libalias/alias_db.c

AddLink()

 

добавляем

 

switch (link_type) {
case LINK_ICMP:
       if(la->icmpLinkCount > 100) return (NULL);
       break;
case LINK_UDP:
       if(la->udpLinkCount > 2000) return (NULL);
       break;
case LINK_TCP:
       if(la->tcpLinkCount > 2000) return (NULL);
       break;
default:
       if(la->protoLinkCount > 100) return (NULL);
       break;
}

 

и ещё новость:

https://wiki.freebsd.org/ProjectsRoutingProposal 12MPPS on 16-core box which is 6-10 times better than stock HEAD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

hwpmc использовать не получилось, в 8.2 он был слишком старый и не работал с установленным процом. Обновился до 10.2, нагружающие проц {igb1 que} из топа пропали, хотя максимальный LA так и остался выше 4. Виновником оказался dummynet, который в top хоть и показывал 0% нагрузки, но по факту нагружал 30% system на одном из ядер. Решением оказалась установка net.inet.ip.dummynet.expire=0 Это снизило нагрузку system, которую создавал dummynet, в 2-2.5 раз и LA в пике теперь до 3.75.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А покажите все-таки вывод в ЧНН:

sysctl net.inet.ip.dummynet

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.