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

Кончается память: bgpd (quagga)

Добрый день!

Есть провайдер от которого принимаем fullview+default, если принимать default - всё ок, если принимаю fullview+default то после рестарта quagga первые несколько минут работает нормально,

потом отваливается инет на тех машинах которые за натом, при попытках пинговать 172.16.0.0/16, 192.168.0.0/16

сообщает ping: Cannot allocate memory

 

Подозреваю что дело в параметре: vm.kmem_size_max

по умолчанию он:

vm.kmem_size_scale: 3

vm.kmem_size_max: 335544320

vm.kmem_size_min: 0

vm.kmem_size: 335544320

если ставлю vm.kmem_size_max = 512Мбайт то это оттягивает процесс отваливания инета, на несколько минут.

Ставлю 640Мбайт - еще дольше не виснет, а вот после 768Мб при перезагрузке машина не стартает с kernel panic:

kmem_suballoc: bad status return of 3

# pkg_info | grep quagga

quagga-0.99.17_8 Free RIPv1, RIPv2, OSPFv2, BGP4, IS-IS route software

 

# uname -a

FreeBSD spruce.xxxx.net 8.0-RELEASE FreeBSD 8.0-RELEASE #2: Fri Jan 22 18:05:38 UTC 2010 root@xxx.net:/usr/obj/usr/src/sys/router i386

# less /boot/loader.conf

autoboot_delay="1"

ipfw_nat_load="YES"

ngtee_load="YES"

ng_ipfw_load="YES"

ng_netflow_load="YES"

 

# less /etc/sysctl.conf

net.inet.tcp.blackhole=2

net.inet.udp.blackhole=1

net.inet.tcp.log_in_vain=0

net.inet.udp.log_in_vain=0

kern.ipc.maxsockbuf=20485760

Edited by kirush

Share this post


Link to post
Share on other sites

Памяти добавить не пробовали.. ну или порежьте до /20 таблицу..

 

vmstat -m | sort -n +2

 

Что там болтается то ?

Я верно понял что там комбайн, в том числе и нат и нетфлов и, скорее всего, шейпер ? и на все гиг ? (я не обсчитался тут в ночи ? гиг же рамы на все про все). А еще и абоненты туда же напрямую приходят, и их арпы тоже в ядро (ну или там по /32 на клиента маршруты, что тоже самое)? А так только bgpd с 2-мя fullview 250M кушает... А есть еще зебра и само ядро (которому Вы еще и наты со товарищи кормить пытаетесь).

Share this post


Link to post
Share on other sites

Может просто не может создать запись в conntrack-таблице?

Что в syslog от kernel ?

Share this post


Link to post
Share on other sites

Памяти там много, стоит 32 битная версия с 4Гб, еще 4 воткнуты и не используются - надо бы на 64 перейти. Но это в будущем.

Шейпера там нет. Стоит NAT и netflow льёт на другую машину.

 

dmesg:

real memory = 8589934592 (8192 MB)

avail memory = 2612764672 (2491 MB)

 

В логах ничего подозрительного нет.

Что сделал:

добавил

options KVA_PAGES=512

пересобрал ядро.

хочу добавить в loader.conf:

vm.kmem_size_max="1G"

и ребутнуть - сегодня ночью попробую.

Сниму как раз статистику:

vmstat -m | sort -n +2

Share this post


Link to post
Share on other sites

Поставил 1Gb, стало немного подольше работать.

 

# vmstat -m | sort -n +2
         iov     0     0K       -      423  16,64,128,256
        Type InUse MemUse HighUse Requests  Size(s)
        sbuf     0     0K       -      392  16,32,64,128,256,512,1024,2048,4096
       mkdir     0     0K       -       12  32
       stack     0     0K       -        4  128
      biobuf     0     0K       -        6  2048
      diradd     0     0K       -       47  64
      dirrem     0     0K       -       40  32
      kqueue     0     0K       -       40  128,1024
      sysctl     0     0K       -      564  16,32,64
    freefile     0     0K       -       30  32
    freefrag     0     0K       -       14  32
    indirdep     0     0K       -       10  32
    ioctlops     0     0K       -     1851  16,32,64,128,256,512,1024,4096
    savedino     0     0K       -       32  256
   ar_driver     0     0K       -       12  512,2048
   sctp_a_it     0     0K       -        6  16
   sctp_iter     0     0K       -        6  128
   sysctltmp     0     0K       -      421  16,32,64,128
  allocindir     0     0K       -     4952  64
  cl_savebuf     0     0K       -        5  32
 vnodemarker     0     0K       -      103  512
netgraph_msg     0     0K       -       14  64,128,256,1024,4096
CAM dev queue     1     1K       -        1  64
netgraph_parse     0     0K       -        2  16
netgraph_path     0     0K       -       11  16
netgraph_sock     0     0K       -        1  64
         BPF     6     1K       -        6  64
         mld     6     1K       -        6  128
         msi     2     1K       -        2  64
         pts     2     1K       -        3  128
        igmp     6     1K       -        6  128
        vlan     6     1K       -        6  16,64
       DEVFS    16     1K       -       17  16,64
       sigio     1     1K       -        1  32
      Unitno    10     1K       -       32  16,64
      apmdev     1     1K       -        1  64
      arpcom     4     1K       -        4  16
      ip6ndp     7     1K       -        7  64,128
      isadev     9     1K       -        9  64
      newblk     1     1K       -     4989  64,256
      soname     8     1K       -      296  16,32,128
      vnodes     2     1K       -        3  32,128
     CAM SIM     1     1K       -        1  128
     NFS FHA     1     1K       -        1  1024
     Per-cpu     1     1K       -        1  16
    acpitask     1     1K       -        1  1024
    atkbddev     2     1K       -        2  32
    freeblks     1     1K       -       23  256
    in_multi     6     1K       -        6  128
    mbuf_tag    13     1K       -  3723251  32,64
    nexusdev     4     1K       -        4  16
    p1003.1b     1     1K       -        1  16
    sctp_ifn     6     1K       -        6  128
    sctp_vrf     1     1K       -        1  64
   acpi_perf     2     1K       -        2  128
   ad_driver     2     1K       -        2  32
   bmsafemap     1     1K       -       25  64
   taskqueue    17     1K       -       17  16,64
 allocdirect     1     1K       -       36  128
 in6_mfilter     1     1K       -        2  512
ip6_moptions     2     1K       -        4  32,128
netgraph_hook     6     1K       -        6  128
netgraph_ksock     1     1K       -        1  64
netgraph_node     7     1K       -        8  128
        cdev     9     2K       -        9  128
        pgrp    28     2K       -       56  64
       lockf    23     2K       -       31  32,64
      select    23     2K       -       23  64
     acpisem    15     2K       -       15  64,128
     io_apic     2     2K       -        2  1024
     session    22     2K       -       29  64
     uidinfo     5     2K       -       37  64,1024
    pci_link    16     2K       -       16  16,128
    sctp_ifa     9     2K       -        9  128
   in6_multi    12     2K       -       12  16,256
   proc-args    30     2K       -      554  16,32,64,128,256
  CAM periph     2     1K       -       11  16,32,64,128
 ata_generic     2     2K       -        2  1024
 ether_multi    32     2K       -       36  16,32,64
       mount    69     3K       -      113  16,32,64,128,256
     acpidev    78     3K       -       78  32
   CAM queue     3     1K       -        7  16
   pfs_nodes    20     3K       -       20  128
 IpFw/IpAcct    34     3K       -       36  64,128,1024
audit_evclass   172     3K       -      211  16
        ksem     1     4K       -        1  4096
       shmfd     1     4K       -        1  4096
      plimit    15     4K       -      209  256
     memdesc     1     4K       -        1  4096
    ipfw_tbl    26     4K       -       26  128
eventhandler    76     4K       -       76  32,64,128
         rpc     2     5K       -        2  128,4096
         sem     4     6K       -        4  256,512,1024,4096
        cred    54     6K       -    46920  64,128
        kenv    76     7K       -       80  16,32,64,128,4096
       ifnet     7     7K       -        7  64,1024
      USBdev    29     7K       -       29  32,64,128,256,1024
        proc     2     8K       -        2  4096
    mtx_pool     2     8K       -        2  4096
        umtx   140     9K       -      140  64
     ithread    90     9K       -       90  16,64,128
        rman   155    10K       -      650  16,32,64
      kbdmux     7    10K       -        7  16,256,1024,2048,4096
     lltable    63    10K       -       63  128,256
 ufs_dirhash    54    10K       -       54  16,32,64,128,512
         tty    21    11K       -       26  512,1024,2048
     CAM XPT    11     2K       -       30  16,32,64,1024
         shm     1    12K       -        1  
      DEVFS3   103    13K       -      113  128
      KTRACE   100    13K       -      100  128
      ifaddr    69    13K       -       70  16,32,64,128,256,512,2048
     devstat     6    13K       -        6  16,4096
        GEOM    70    16K       -      480  16,32,64,128,512,1024
   hostcache     1    16K       -        1  
     sctpnat     3    20K       -        3  4096
      DEVFS1    87    22K       -       96  256
       clone     6    24K       -        6  4096
         msg     4    25K       -        4  1024,4096
    filedesc    64    27K       -     1507  32,256,2048
   ufs_mount    12    29K       -       12  256,2048,4096
      module   476    30K       -      476  64,128
      linker   129    33K       -      188  16,32,256,1024,4096
         bus  1203    56K       -     8588  16,32,64,128,512,1024
     entropy  1024    64K       -     1024  64
     pagedep     1    64K       -       19  64
   vm_pgdata     2    65K       -        2  64
    syncache     1    72K       -        1  
         pcb    31    79K       -       63  16,32,64,512,1024,2048,4096
         USB    45    84K       -       46  16,32,64,128,1024,4096
   sysctloid  3696   113K       -     3801  16,32,64,128
      bus-sc    79   164K       -     5105  16,32,64,128,256,512,1024,2048,4096
      acpica  3179   167K       -    72822  16,32,64,128,256,512,1024
     subproc   136   226K       -     1562  256,4096
     callout     1   256K       -        1  
    vfs_hash     1   256K       -        1  
    inodedep     2   257K       -       81  128
    vfscache     1   512K       -        1  
    routetbl 10806   618K       -    21003  16,32,64,128,256,512
        kobj   325   650K       -      380  2048
        temp    41   805K       -     6865  16,32,64,128,256,512,1024,2048,4096
        SWAP     2   821K       -        2  64
    netgraph     7  1285K       -        7  16,32
netflow_hash     1  1792K       -        1  
      devbuf  2923  2608K       -     2974  16,32,64,128,256,512,1024,2048,4096
    libalias 114421 14335K       -   307538  128

 

когда перестает натовские адреса пускать это выглядит так:

# vmstat -m | sort -n +2 
         iov     0     0K       -      539  16,64,128,256
        Type InUse MemUse HighUse Requests  Size(s)
        sbuf     0     0K       -      404  16,32,64,128,256,512,1024,2048,4096
       mkdir     0     0K       -       12  32
       stack     0     0K       -        4  128
      biobuf     0     0K       -        6  2048
      diradd     0     0K       -      194  64
      dirrem     0     0K       -      187  32
      kqueue     0     0K       -       94  128,1024
      sysctl     0     0K       -     1301  16,32,64
    freeblks     0     0K       -      168  256
    freefile     0     0K       -       92  32
    freefrag     0     0K       -      335  32
    indirdep     0     0K       -       13  32
    ioctlops     0     0K       -     3752  16,32,64,128,256,512,1024,4096
    savedino     0     0K       -       74  256
   ar_driver     0     0K       -       12  512,2048
   bmsafemap     0     0K       -       55  64
   sctp_a_it     0     0K       -        6  16
   sctp_iter     0     0K       -        6  128
   sysctltmp     0     0K       -      457  16,32,64,128
  allocindir     0     0K       -     6542  64
  cl_savebuf     0     0K       -       42  32,64
 allocdirect     0     0K       -     1036  128
 vnodemarker     0     0K       -      281  512
netgraph_msg     0     0K       -       14  64,128,256,1024,4096
CAM dev queue     1     1K       -        1  64
netgraph_parse     0     0K       -        2  16
netgraph_path     0     0K       -       11  16
netgraph_sock     0     0K       -        1  64
         BPF     6     1K       -        6  64
         mld     6     1K       -        6  128
         msi     2     1K       -        2  64
         pts     2     1K       -        3  128
        igmp     6     1K       -        6  128
        vlan     6     1K       -        6  16,64
       DEVFS    16     1K       -       17  16,64
       sigio     1     1K       -        1  32
      Unitno    10     1K       -       32  16,64
      apmdev     1     1K       -        1  64
      arpcom     4     1K       -        4  16
      ip6ndp     7     1K       -        7  64,128
      isadev     9     1K       -        9  64
      newblk     1     1K       -     7579  64,256
      soname     9     1K       -      799  16,32,128
      vnodes     2     1K       -        3  32,128
     CAM SIM     1     1K       -        1  128
     NFS FHA     1     1K       -        1  1024
     Per-cpu     1     1K       -        1  16
    acpitask     1     1K       -        1  1024
    atkbddev     2     1K       -        2  32
    in_multi     6     1K       -        6  128
    mbuf_tag     3     1K       -  9405621  32,64
    nexusdev     4     1K       -        4  16
    p1003.1b     1     1K       -        1  16
    sctp_ifn     6     1K       -        6  128
    sctp_vrf     1     1K       -        1  64
   acpi_perf     2     1K       -        2  128
   ad_driver     2     1K       -        2  32
   taskqueue    17     1K       -       17  16,64
 in6_mfilter     1     1K       -        2  512
ip6_moptions     2     1K       -        4  32,128
netgraph_hook     6     1K       -        6  128
netgraph_ksock     1     1K       -        1  64
netgraph_node     7     1K       -        8  128
        cdev     9     2K       -        9  128
        pgrp    28     2K       -      153  64
       lockf    23     2K       -      215  32,64
      select    29     2K       -       29  64
     acpisem    15     2K       -       15  64,128
     io_apic     2     2K       -        2  1024
     session    22     2K       -       43  64
     uidinfo     5     2K       -       45  64,1024
    pci_link    16     2K       -       16  16,128
    sctp_ifa     9     2K       -        9  128
   in6_multi    12     2K       -       12  16,256
   proc-args    29     2K       -      906  16,32,64,128,256
  CAM periph     2     1K       -       11  16,32,64,128
 ata_generic     2     2K       -        2  1024
 ether_multi    32     2K       -       36  16,32,64
       mount    69     3K       -      113  16,32,64,128,256
     acpidev    78     3K       -       78  32
   CAM queue     3     1K       -        7  16
   pfs_nodes    20     3K       -       20  128
 IpFw/IpAcct    34     3K       -       36  64,128,1024
audit_evclass   172     3K       -      211  16
        ksem     1     4K       -        1  4096
       shmfd     1     4K       -        1  4096
      plimit    15     4K       -      348  256
     memdesc     1     4K       -        1  4096
    ipfw_tbl    26     4K       -       26  128
eventhandler    76     4K       -       76  32,64,128
         rpc     2     5K       -        2  128,4096
         sem     4     6K       -        4  256,512,1024,4096
        cred    58     6K       -    50004  64,128
        kenv    76     7K       -       80  16,32,64,128,4096
       ifnet     7     7K       -        7  64,1024
      USBdev    29     7K       -       29  32,64,128,256,1024
        proc     2     8K       -        2  4096
    mtx_pool     2     8K       -        2  4096
        umtx   140     9K       -      140  64
     ithread    90     9K       -       90  16,64,128
        rman   155    10K       -      650  16,32,64
      kbdmux     7    10K       -        7  16,256,1024,2048,4096
         tty    21    11K       -       26  512,1024,2048
     CAM XPT    11     2K       -       30  16,32,64,1024
 ufs_dirhash    57    11K       -       57  16,32,64,128,512
         shm     1    12K       -        1  
     lltable    78    12K       -       78  128,256
      DEVFS3   103    13K       -      113  128
      KTRACE   100    13K       -      100  128
      ifaddr    69    13K       -       70  16,32,64,128,256,512,2048
     devstat     6    13K       -        6  16,4096
        GEOM    70    16K       -      480  16,32,64,128,512,1024
   hostcache     1    16K       -        1  
     sctpnat     3    20K       -        3  4096
      DEVFS1    87    22K       -       96  256
       clone     6    24K       -        6  4096
         msg     4    25K       -        4  1024,4096
    filedesc    64    27K       -     1751  32,256,2048
   ufs_mount    12    29K       -       12  256,2048,4096
      module   476    30K       -      476  64,128
      linker   129    33K       -      188  16,32,256,1024,4096
         bus  1203    56K       -     8588  16,32,64,128,512,1024
     entropy  1024    64K       -     1024  64
     pagedep     1    64K       -       57  64
   vm_pgdata     2    65K       -        2  64
    syncache     1    72K       -        1  
         pcb    31    79K       -      120  16,32,64,512,1024,2048,4096
         USB    45    84K       -       46  16,32,64,128,1024,4096
   sysctloid  3696   113K       -     3801  16,32,64,128
      bus-sc    79   164K       -     5105  16,32,64,128,256,512,1024,2048,4096
      acpica  3179   167K       -    72822  16,32,64,128,256,512,1024
     subproc   135   222K       -     1722  256,4096
     callout     1   256K       -        1  
    inodedep     1   256K       -      327  128
    vfs_hash     1   256K       -        1  
    vfscache     1   512K       -        1  
    routetbl 10824   618K       -    21179  16,32,64,128,256,512
        kobj   325   650K       -      380  2048
        temp    41   805K       -     8407  16,32,64,128,256,512,1024,2048,4096
        SWAP     2   821K       -        2  64
    netgraph     7  1285K       -        7  16,32
netflow_hash     1  1792K       -        1  
      devbuf  2923  2608K       -     2974  16,32,64,128,256,512,1024,2048,4096
    libalias 86276 10817K       -   788878  128

Поставил на 1.5Гб - все равно перестает инет раздавать через 10 мин

из ругани нашел только в zebra:

2011/06/02 00:32:51 ZEBRA: Zebra 0.99.17 starting: vty@2601
2011/06/02 00:42:00 ZEBRA: SLOW THREAD: task work_queue_run (210a5f60) ran for 504204ms (cpu time 0ms)
2011/06/02 00:42:00 ZEBRA: buffer_write: write error on fd 13: Broken pipe
2011/06/02 00:42:00 ZEBRA: zebra_server_send_message: buffer_write failed to zserv client fd 13, closing
2011/06/02 00:47:14 ZEBRA: SLOW THREAD: task work_queue_run (210a5f60) ran for 309826ms (cpu time 0ms)
2011/06/02 00:47:14 ZEBRA: buffer_write: write error on fd 13: Broken pipe
2011/06/02 00:47:14 ZEBRA: zebra_server_send_message: buffer_write failed to zserv client fd 13, closing
2011/06/02 00:54:38 ZEBRA: SLOW THREAD: task work_queue_run (210a5f60) ran for 439113ms (cpu time 0ms)
2011/06/02 00:54:38 ZEBRA: buffer_write: write error on fd 13: Broken pipe
2011/06/02 00:54:38 ZEBRA: zebra_server_send_message: buffer_write failed to zserv client fd 13, closing
2011/06/02 00:54:39 ZEBRA: buffer_write: write error on fd 12: Broken pipe
2011/06/02 00:54:39 ZEBRA: zebra_server_send_message: buffer_write failed to zserv client fd 12, closing
2011/06/02 00:54:39 ZEBRA: buffer_write: write error on fd 14: Broken pipe
2011/06/02 00:54:39 ZEBRA: zebra_server_send_message: buffer_write failed to zserv client fd 14, closing
2011/06/02 00:54:39 ZEBRA: buffer_write: write error on fd 15: Broken pipe
2011/06/02 00:54:39 ZEBRA: zebra_server_send_message: buffer_write failed to zserv client fd 15, closing
2011/06/02 01:00:31 ZEBRA: Zebra 0.99.17 starting: vty@2601

добавил:

kern.maxdsiz="1073741824" # 1GB

kern.dfldsiz="1073741824" # 1GB

kern.maxssiz="134217728" # 128MB

всё также: вылетает ssh с ошибкой cannot write: cannot allocate memory

пытаюсь пинговать внутренние машины ping: cannot allocate memory

 

может ли быть проблема с драйверами сетевой карты?

em0: <Intel® PRO/1000 Network Connection 6.9.14> port 0x2020-0x203f mem 0xb8820000-0xb883ffff,0xb8400000-0xb87fffff irq 18 at device 0.0 on pci5

em0: Using MSI interrupt

em0: [FILTER]

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500

options=19b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>

Edited by kirush

Share this post


Link to post
Share on other sites

Try run "zebra" with parms "--nl-bufsize 2000000"

Немножко не те сообщения, но всё равно спасибо - попробую.


      -s, --nl-bufsize netlink-buffer-size
             Set  netlink  receive  buffer  size. There are cases where zebra
             daemon can't handle flood of netlink messages  from  kernel.  If
             you ever see "recvmsg overrun" messages in zebra log, you are in
             trouble.

             Solution is to increase receive buffer of netlink  socket.  Note
             that  kernel  doesn't  allow  to  increase it over maximum value
             defined in /proc/sys/net/core/rmem_max. If you want  to  do  it,
             you have to increase maximum before starting zebra.

Share this post


Link to post
Share on other sites

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.