URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 61210
[ Назад ]

Исходное сообщение
"Критическое переполнение mbuf Freebsd"

Отправлено полдник , 25-Окт-05 12:31 
Имеем FreeBSD 5.4-RELEASE

раскладка по стетевым интерфейсам:
fxp0: flags=18843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,POLLING> mtu 1500
        options=48<VLAN_MTU,POLLING>
        inet 10.8.52.1 netmask 0xffffe000 broadcast 10.8.63.255
        inet 195.x.x.x netmask 0xfffffffc broadcast 195.x.x.x
        inet 10.8.55.1 netmask 0xffffffff broadcast 10.8.55.1
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
fxp1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=48<VLAN_MTU,POLLING>
        ether 00:a9:40:1a:6b:f8
        media: Ethernet autoselect (none)
        status: no carrier
rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
        options=48<VLAN_MTU,POLLING>
        ether 00:50:22:80:87:5e
        media: Ethernet autoselect (10baseT/UTP)
        status: no carrier
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
        inet 127.0.0.1 netmask 0xff000000
vlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 195.y.y.y netmask 0xffffffe0 broadcast 195.y.y.y
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 306 parent interface: fxp0
vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 195.222.z.z netmask 0xfffffffc broadcast 195.z.z.z
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 400 parent interface: fxp0
vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.8.0.1 netmask 0xffffe000 broadcast 10.8.31.255
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 613 parent interface: fxp0
vlan3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.3.81.7 netmask 0xffff0000 broadcast 10.3.255.255
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 612 parent interface: fxp0
vlan4: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.8.100.1 netmask 0xffffe000 broadcast 10.8.127.255
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 614 parent interface: fxp0
vlan5: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.9.0.1 netmask 0xffff0000 broadcast 10.9.255.255
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 650 parent interface: fxp0
vlan6: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.10.131.2 netmask 0xffff0000 broadcast 10.10.255.255
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 615 parent interface: fxp0
vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.60.0.1 netmask 0xfffff000 broadcast 10.60.15.255
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 616 parent interface: fxp0
vlan8: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        inet 10.11.0.1 netmask 0xfffff000 broadcast 10.11.15.255
        ether 00:a9:40:1a:6b:e9
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        vlan: 617 parent interface: fxp0

sysctl.conf

net.inet.tcp.blackhole=2
net.inet.udp.blackhole=1
net.inet.tcp.rfc1323=0
net.inet.tcp.delayed_ack=0
net.inet.tcp.sendspace=65535
net.inet.tcp.recvspace=65535
net.inet.udp.recvspace=65535
net.local.stream.recvspace=65535
net.local.stream.sendspace=65535
net.inet.ip.check_interface=1
kern.polling.enable=1
kern.ipc.somaxconn=1024
net.inet.tcp.delayed_ack=0
net.link.ether.inet.max_age=1200
net.inet.tcp.msl=7500
net.inet.icmp.icmplim=50
net.inet.icmp.bmcastecho=0
net.inet.ip.forwarding=1

# cat loader.conf
autoboot_delay="5"
kern.hz="1000"
kern.ipc.nmbclusters=131072


Вообщем идет очень быстрое наполнение mbuf
netstat -m
17392 mbufs in use
17389/131072 mbuf clusters in use (current/max)
0/2/4560 sfbufs in use (current/peak/max)
39126 KBytes allocated to network
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
10 calls to protocol drain routines

17389 -- это на момент поста
иногда конечно успевает освобождать.. но аще всего добивает свои 131072

.. машина становиться недоступной.. незнаю уже куда копать


Содержание

Сообщения в этом обсуждении
"Критическое переполнение mbuf Freebsd"
Отправлено denn , 25-Окт-05 12:42 
>Имеем FreeBSD 5.4-RELEASE
>
>раскладка по стетевым интерфейсам:
>fxp0: flags=18843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,POLLING> mtu 1500
>        options=48<VLAN_MTU,POLLING>
>        inet 10.8.52.1 netmask 0xffffe000
>broadcast 10.8.63.255
>        inet 195.x.x.x netmask 0xfffffffc
>broadcast 195.x.x.x
>        inet 10.8.55.1 netmask 0xffffffff
>broadcast 10.8.55.1
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>fxp1: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
>        options=48<VLAN_MTU,POLLING>
>        ether 00:a9:40:1a:6b:f8
>        media: Ethernet autoselect (none)
>
>        status: no carrier
>rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
>        options=48<VLAN_MTU,POLLING>
>        ether 00:50:22:80:87:5e
>        media: Ethernet autoselect (10baseT/UTP)
>
>        status: no carrier
>lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
>        inet 127.0.0.1 netmask 0xff000000
>
>vlan0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 195.y.y.y netmask 0xffffffe0
>broadcast 195.y.y.y
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 306 parent interface:
>fxp0
>vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 195.222.z.z netmask 0xfffffffc
>broadcast 195.z.z.z
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 400 parent interface:
>fxp0
>vlan2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 10.8.0.1 netmask 0xffffe000
>broadcast 10.8.31.255
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 613 parent interface:
>fxp0
>vlan3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 10.3.81.7 netmask 0xffff0000
>broadcast 10.3.255.255
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 612 parent interface:
>fxp0
>vlan4: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 10.8.100.1 netmask 0xffffe000
>broadcast 10.8.127.255
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 614 parent interface:
>fxp0
>vlan5: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 10.9.0.1 netmask 0xffff0000
>broadcast 10.9.255.255
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 650 parent interface:
>fxp0
>vlan6: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 10.10.131.2 netmask 0xffff0000
>broadcast 10.10.255.255
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 615 parent interface:
>fxp0
>vlan7: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 10.60.0.1 netmask 0xfffff000
>broadcast 10.60.15.255
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 616 parent interface:
>fxp0
>vlan8: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>        inet 10.11.0.1 netmask 0xfffff000
>broadcast 10.11.15.255
>        ether 00:a9:40:1a:6b:e9
>        media: Ethernet autoselect (100baseTX <full-duplex>)
>        status: active
>        vlan: 617 parent interface:
>fxp0
>
>sysctl.conf
>
>net.inet.tcp.blackhole=2
>net.inet.udp.blackhole=1
>net.inet.tcp.rfc1323=0
>net.inet.tcp.delayed_ack=0
>net.inet.tcp.sendspace=65535
>net.inet.tcp.recvspace=65535
>net.inet.udp.recvspace=65535
>net.local.stream.recvspace=65535
>net.local.stream.sendspace=65535
>net.inet.ip.check_interface=1
>kern.polling.enable=1
>kern.ipc.somaxconn=1024
>net.inet.tcp.delayed_ack=0
>net.link.ether.inet.max_age=1200
>net.inet.tcp.msl=7500
>net.inet.icmp.icmplim=50
>net.inet.icmp.bmcastecho=0
>net.inet.ip.forwarding=1
>
># cat loader.conf
>autoboot_delay="5"
>kern.hz="1000"
>kern.ipc.nmbclusters=131072
>
>
>Вообщем идет очень быстрое наполнение mbuf
>netstat -m
>17392 mbufs in use
>17389/131072 mbuf clusters in use (current/max)
>0/2/4560 sfbufs in use (current/peak/max)
>39126 KBytes allocated to network
>0 requests for sfbufs denied
>0 requests for sfbufs delayed
>0 requests for I/O initiated by sendfile
>10 calls to protocol drain routines
>
>17389 -- это на момент поста
>иногда конечно успевает освобождать.. но аще всего добивает свои 131072
>
>.. машина становиться недоступной.. незнаю уже куда копать

расширение памяти, тюнинг по хендбуку буферс и кластерс


"Критическое переполнение mbuf Freebsd"
Отправлено denn , 25-Окт-05 12:46 
в догонку
http://www.opennet.me/base/net/freebsd_ddos_tune.txt.html
http://www.opennet.me/docs/BSD/handbook/configtuning-kernel-...
http://silverwraith.com/papers/freebsd-tuning.php

"Критическое переполнение mbuf Freebsd"
Отправлено полдник , 25-Окт-05 12:51 
>в догонку
>http://www.opennet.me/base/net/freebsd_ddos_tune.txt.html
>http://www.opennet.me/docs/BSD/handbook/configtuning-kernel-...
>http://silverwraith.com/papers/freebsd-tuning.php

спасибо большое за ссылки.. первым делом уже прочитал
900 CEL 512 рамки думаю хватит?=)

если дочтиешь мой пост до конца то увидишь что всю оттюнинговано
и пулинг даж врубил


"Критическое переполнение mbuf Freebsd"
Отправлено denn , 25-Окт-05 13:08 
>>в догонку
>>http://www.opennet.me/base/net/freebsd_ddos_tune.txt.html
>>http://www.opennet.me/docs/BSD/handbook/configtuning-kernel-...
>>http://silverwraith.com/papers/freebsd-tuning.php
>
>спасибо большое за ссылки.. первым делом уже прочитал
>900 CEL 512 рамки думаю хватит?=)
>
>если дочтиешь мой пост до конца то увидишь что всю оттюнинговано
>и пулинг даж врубил
я читал
просто 131072 это не предел.
цитирую лавра
"
советую читать документацию, handbook + faq:

http://www.freebsd.org.ru/
http://www.freebsd.org.ua/

http://unix1.jinr.ru/~lavr/

как примеры ядер (это не тюнингованные ядра, исключительно для личной
машины unix1.jinr.ru, которая работает как сервер):

http://unix1.jinr.ru/~lavr/local/KERNEL
http://unix1.jinr.ru/~lavr/local/KERNEL48 - в этом ядре используется
автоматический тюнинг ядра:

maxusers        0

для сервера его лучше заменить на 256 или 512, соответственно расчитать
увеличить (как пример) следующие значения:

# Set the size of the mbuf KVM reservation, in clusters.  This is scaled
# by approximately 2048 bytes.  The system will auto-size the mbuf area
# to (512 + maxusers*16) if this option is not specified.
# maxusers is in turn computed at boot time depending on available memory
# or set to the value specified by "options MAXUSERS=x" (x=0 means
# autoscaling).
# So, to take advantage of autoscaling, you have to remove both
# NMBCLUSTERS and MAXUSERS (and NMBUFS) from your kernel config.
#
#options         NMBCLUSTERS=1024
options         NMBCLUSTERS=8192
#options         NMBCLUSTERS=16384
#options         NMBCLUSTERS=32768

# Set the number of mbufs available in the system. Each mbuf
# consumes 256 bytes. The system will autosize this (to 4 times
# the number of NMBCLUSTERS, depending on other constraints)
# if this option is not specified.
#
#options         NMBUFS=4096
options         NMBUFS=32768

Важное: надо не из LINT'а создавать ядро, а на основе GENERIC, выкинуть
из последнего ВСЕ ЛИШНЕЕ и затем читая LINT, добавлять кое-что под
свои нужды.
"
обрати внимание на
So, to take advantage of autoscaling, you have to remove both
NMBCLUSTERS and MAXUSERS (and NMBUFS) from your kernel config.

+ из личного опыты - проверь характер трафика, отсеки лишнее, понизь где можно скорость итерфейса.
успеха


"Критическое переполнение mbuf Freebsd"
Отправлено полдник , 26-Окт-05 17:32 
>>>в догонку
>>>http://www.opennet.me/base/net/freebsd_ddos_tune.txt.html
>>>http://www.opennet.me/docs/BSD/handbook/configtuning-kernel-...
>>>http://silverwraith.com/papers/freebsd-tuning.php
>>
>>спасибо большое за ссылки.. первым делом уже прочитал
>>900 CEL 512 рамки думаю хватит?=)
>>
>>если дочтиешь мой пост до конца то увидишь что всю оттюнинговано
>>и пулинг даж врубил
>я читал
>просто 131072 это не предел.
>цитирую лавра
>"
>советую читать документацию, handbook + faq:
>
>http://www.freebsd.org.ru/
>http://www.freebsd.org.ua/
>
>http://unix1.jinr.ru/~lavr/
>
>как примеры ядер (это не тюнингованные ядра, исключительно для личной
>машины unix1.jinr.ru, которая работает как сервер):
>
>http://unix1.jinr.ru/~lavr/local/KERNEL
>http://unix1.jinr.ru/~lavr/local/KERNEL48 - в этом ядре используется
>автоматический тюнинг ядра:
>
>maxusers        0
>
>для сервера его лучше заменить на 256 или 512, соответственно расчитать
>увеличить (как пример) следующие значения:
>
># Set the size of the mbuf KVM reservation, in clusters.  
>This is scaled
># by approximately 2048 bytes.  The system will auto-size the mbuf
>area
># to (512 + maxusers*16) if this option is not specified.
># maxusers is in turn computed at boot time depending on available
>memory
># or set to the value specified by "options MAXUSERS=x" (x=0 means
>
># autoscaling).
># So, to take advantage of autoscaling, you have to remove both
>
># NMBCLUSTERS and MAXUSERS (and NMBUFS) from your kernel config.
>#
>#options         NMBCLUSTERS=1024
>options         NMBCLUSTERS=8192
>#options         NMBCLUSTERS=16384
>#options         NMBCLUSTERS=32768
>
># Set the number of mbufs available in the system. Each mbuf
>
># consumes 256 bytes. The system will autosize this (to 4 times
>
># the number of NMBCLUSTERS, depending on other constraints)
># if this option is not specified.
>#
>#options         NMBUFS=4096
>options         NMBUFS=32768
>
>Важное: надо не из LINT'а создавать ядро, а на основе GENERIC, выкинуть
>
>из последнего ВСЕ ЛИШНЕЕ и затем читая LINT, добавлять кое-что под
>свои нужды.
>"
>обрати внимание на
>So, to take advantage of autoscaling, you have to remove both
>NMBCLUSTERS and MAXUSERS (and NMBUFS) from your kernel config.
>
>+ из личного опыты - проверь характер трафика, отсеки лишнее, понизь где
>можно скорость итерфейса.
>успеха


все перечитал.. оттюнинговал.. эффекта 0 =((
на риалтеках живет... на fxp нет..
странные дела творяться.. вам так не кажеться?


"Критическое переполнение mbuf Freebsd"
Отправлено полдник , 26-Окт-05 17:34 
ЗЫ сетевушка

fxp0: <Intel 82559 Pro/100 Ethernet> port 0xc400-0xc43f mem 0xdde00000-0xddefffff,0xddffe000-0xddffefff irq 12 at device 12.0 on pci0



"Критическое переполнение mbuf Freebsd"
Отправлено denn , 26-Окт-05 17:34 
>
>
>все перечитал.. оттюнинговал.. эффекта 0 =((
>на риалтеках живет... на fxp нет..
>странные дела творяться.. вам так не кажеться?


мож карты поменять