Jump to content
Калькуляторы

FreeBSD 8.2 каждые 10 минут всплески cpu load прошу помоч разобраться с проблемой

Intel Xeon 2.3 (4 ядра)

4 Гб ОЗУ

# pciconf -vl

em0@pci0:0:25:0: class=0x020000 card=0x34ec8086 chip=0x10ef8086 rev=0x05 hdr=0x00

vendor = 'Intel Corporation'

class = network

subclass = ethernet

em1@pci0:2:0:0: class=0x020000 card=0x34ec8086 chip=0x10d38086 rev=0x00 hdr=0x00

vendor = 'Intel Corporation'

device = 'Intel 82574L Gigabit Ethernet Controller (82574L)'

class = network

subclass = ethernet

# uname -a

FreeBSD gw.local 8.2-RELEASE FreeBSD 8.2-RELEASE #0: Sat Oct 29 00:28:49 MSD 2011 gateway@gw.local:/usr/obj/usr/src/sys/SHAPER amd64

# cat /boot/loader.conf

vm.kmem_size=2G

kern.maxusers=512

hw.em.rxd=4096

hw.em.txd=4096

# cat /etc/sysctl.conf

net.inet.ip.fw.one_pass=1

net.inet.ip.dummynet.io_fast=1

net.inet.ip.dummynet.hash_size=8192

net.inet.ip.fw.autoinc_step=1

net.inet.ip.fastforwarding=1

net.inet.tcp.blackhole=2

net.inet.udp.blackhole=1

net.inet.icmp.drop_redirect=1

net.inet.icmp.log_redirect=0

dev.em.0.rx_int_delay=600

dev.em.0.tx_int_delay=600

dev.em.0.rx_abs_int_delay=1000

dev.em.0.tx_abs_int_delay=1000

dev.em.0.rx_processing_limit=1000

dev.em.1.rx_int_delay=600

dev.em.1.tx_int_delay=600

dev.em.1.rx_abs_int_delay=1000

dev.em.1.tx_abs_int_delay=1000

dev.em.1.rx_processing_limit=1000

 

NAT: pf на один ip, пока без пула

Шэйпинг: dummynet, пайпы через tablearg

Сбор статистики по трафику абонентов: netflow (netgraph)

 

На графиках это выглядит так:

post-41125-074876300 1320001436_thumb.png

post-41125-011909300 1320001448_thumb.png

post-41125-029800000 1320001457_thumb.png

 

uTP зарезан на свиче ACL'ем (на графике PPS видно спад UDP пакетов - это как раз время, когда ACL был установлен)

dummynet прибит к cpu0

 

Бьюсь уже неделю - не могу никак разобраться :( Ночью с пятницы на субботу переустановил FreeBSD с 8.1 на 8.2 (обе RELEASE), в течении всего дня субботы график загрузки ЦПУ был гладким - не более 25%, в полдень воскресенья опять началось то, что показано на графике. Во время всплесков пакеты идут с большими задержками, доступ в сеть у абонентов по факту пропадает. Вот netstat и top во время всплесков:

           input        (Total)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
    40837     0     0   29251972      39553     0   28619212     0
    37782     0     0   26894313      36377     0   26145560     0
    43062     0     0   31170115      41905     0   30639227     0
    44930     0     0   32765651      43729     0   32311530     0
    44474     0     0   32517349      43452     0   32100155     0
    41568     2     0   29962025      40448     0   29576906     0
    40391     3     0   28452928      39378     0   28124342     0
    38670     0     0   27570838      36890     0   26585273     0
    39509     0     0   27433901      38066     0   27257079     0
    40882     1     0   28744109      39968     0   27867470     0
    40340     2     0   27774715      39220     0   27290046     0
    40662     0     0   29062744      38637     0   28185541     0
    36902     1     0   25196024      35644     0   26043939     0
    33074     0     0   22549507      33345     0   21892996     0
    34079     1     0   22955012      32050     0   22500829     0
    35280     0     0   24302163      34939     0   23983854     0
    28912     1     0   18997549      27519     0   18186295     0
    21759     0     0   13431701      17846     0   10774710     0
    22891   639     0   13145610      25496     0   15847490     0
    32273     0     0   21737247      29649     0   21414759     0
    29595     0     0   18532728      27092     0   18600952     0
           input        (Total)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
    13865   738     0    7929432      16429     0    8026676     0
    41851  1086     0   27958683      39488     0   25752320     0
    49606     1     0   37038803      48019     0   36079319     0
    45124     1     0   32249110      43844     0   31708939     0
    45724     1     0   32955571      44502     0   32478523     0
    45031     1     0   32320461      41208     0   33409431     0
     9645  1703     0    5450313      13221     0    5488730     0
    26909  1276     0   15361246      24820     0   14010193     0
    20492     0     0   11082612      20019     0   11872433     0
    21371     0     0   13266328      19496     0   12328975     0
    33325   162     0   20464480      30278     0   20777861     0
    15966     0     0    8723220      16380     0    8687079     0
     5599  2692     0    3059017       7030     0    2964645     0
    22397  1048     0   11329258      20958     0   11451550     0
    33501     0     0   21437942      32507     0   20028240     0
    40691     0     0   28747589      39541     0   28339133     0
    41188     0     0   29185330      39925     0   28626706     0
    42186     0     0   29726151      41080     0   29305941     0
    26180   356     0   17044461      26144     0   18231970     0
     9504     0     0    5108982       8808     0    5387313     0
     7594  2508     0    3084908       7545     0    3201466     0
           input        (Total)           output
  packets  errs idrops      bytes    packets  errs      bytes colls
     6553  2431     0    2659602       5730     0    2646609     0
     6556  2523     0    2176045       5685     0    2139370     0
     6537  2283     0    2136178       7412     0    2090608     0
     5680  1957     0    1567143       5413     0    1538578     0
     5607  1925     0    1554471       5488     0    1527058     0
    37381  1843     0   17887236      35777     0   17368887     0
    32703   119     0   21053321      31463     0   20541729     0
    34230     0     0   22773365      33059     0   22192197     0
    35948     0     0   25305831      35052     0   25078293     0
    38354     0     0   26315577      36986     0   25647929     0
    39157     2     0   26796410      38055     0   26407985     0
    41560     0     0   28926106      40113     0   28073822     0
    40539     0     0   27918973      39493     0   27734206     0
    39608     0     0   27573525      38535     0   27144902     0
    41936     1     0   29290565      40732     0   28775780     0
    42885     1     0   29933649      41735     0   29422512     0
    42439     1     0   29787970      41296     0   29269428     0
    27328     1     0   17237508      26166     0   16835278     0
    42619     3     0   29284267      41454     0   28702414     0
    43102     0     0   30366378      42036     0   29888557     0
    42986     1     0   30291583      41929     0   29928655     0

копипасты top'а по мере нарастания и спада (последний top) всплеска:

  PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
  12 root     -68    -     0K   304K CPU1    1 548:10 85.06% {irq257: em1:rx 0}
   0 root     -68    0     0K   160K CPU3    3 574:02 84.96% {em0 taskq}
  11 root     171 ki31     0K    64K RUN     2  43.8H 77.49% {idle: cpu2}
   0 root     -68    0     0K   160K CPU0    0 386:29 51.90% {dummynet}
  11 root     171 ki31     0K    64K RUN     1  42.2H 46.53% {idle: cpu1}
   0 root     -68    0     0K   160K -       2  33:28 29.00% {em1 rxq}
  11 root     171 ki31     0K    64K RUN     0  31.4H 25.59% {idle: cpu0}
  11 root     171 ki31     0K    64K RUN     3  35.4H 22.02% {idle: cpu3}
  12 root     -32    -     0K   304K WAIT    2  28:37  0.63% {swi4: clock}
  12 root     -68    -     0K   304K WAIT    0  21:14  0.10% {irq258: em1:tx 0}



 PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
   0 root     -68    0     0K   160K CPU3    3 574:11 80.37% {em0 taskq}
  12 root     -68    -     0K   304K CPU1    1 548:20 79.64% {irq257: em1:rx 0}
   0 root     -68    0     0K   160K -       0 386:37 62.26% {dummynet}
  11 root     171 ki31     0K    64K RUN     2  43.8H 55.71% {idle: cpu2}
   0 root     -68    0     0K   160K CPU2    2  33:33 42.92% {em1 rxq}
  11 root     171 ki31     0K    64K RUN     1  42.2H 36.96% {idle: cpu1}
  11 root     171 ki31     0K    64K RUN     0  31.4H 21.73% {idle: cpu0}
  11 root     171 ki31     0K    64K RUN     3  35.4H 20.65% {idle: cpu3}
  12 root     -32    -     0K   304K WAIT    0  28:37  3.61% {swi4: clock}



 PID USERNAME PRI NICE   SIZE    RES STATE   C   TIME   WCPU COMMAND
  11 root     171 ki31     0K    64K CPU2    2  43.9H 80.71% {idle: cpu2}
  11 root     171 ki31     0K    64K RUN     1  42.2H 75.10% {idle: cpu1}
  11 root     171 ki31     0K    64K RUN     3  35.4H 53.22% {idle: cpu3}
  11 root     171 ki31     0K    64K RUN     0  31.4H 52.15% {idle: cpu0}
  12 root     -68    -     0K   304K WAIT    0 548:29 52.10% {irq257: em1:rx 0}
   0 root     -68    0     0K   160K CPU3    3 574:20 51.12% {em0 taskq}
   0 root     -68    0     0K   160K CPU0    0 386:45 28.03% {dummynet}
   0 root     -68    0     0K   160K -       2  33:39 22.51% {em1 rxq}

 

Прошу помощи, мой глаз уже замылен на 1000%, могу чего-то не заметить, упустить какой-то момент, вдруг разгадка перед моим носом.. Спасибо.

Edited by 31337Ghost

Share this post


Link to post
Share on other sites

Как вариант, можно в этот момент запустить trafshow. И посмотреть, куда и по какому порту идет траф.

 

еще вариант попробуйте deny ip from any to any dst-port 35691 авось поможет.

 

 

Уберите из ядра flowtable.

 

И значения для em по умолчанию пробуйте

Edited by zlolotus

Share this post


Link to post
Share on other sites

нетфлоу выкидывай

уже ехал на этом

если нагрузка больше 800 мегабит (суммарных 400+400 к примеру)

убивает одно из ядер ну и всю систему

счетай радиусом :)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this