Discussion:
Unable to handle a connection wall
(too old to reply)
Arnaud Lacombe
2009-05-28 18:02:36 UTC
Permalink
Hi,

I have a soekris box, currently running 5.0RC3 which is unable to
handle a 100-connections wall (almost simultaneous). This is quite
frustrating knowing that the box is idle and just rebooted. The error
on the console is the following:

vr1: unable to allocate Tx cluster
[....]
vr1: unable to allocate Tx cluster
vr1: unable to allocate Tx cluster
vr1: unable to allocate Tx cluster

followed by:

WARNING: mclpool limit reached; increase NMBCLUSTERS.

A few minutes after this, the mbuf usage is still really high:

# netstat -m
11130 mbufs in use:
10773 mbufs allocated to data
357 mbufs allocated to packet headers
8265 calls to protocol drain routines

The drain calls count increment, but nothing is freed.

The initial message from vr1 is due to a failed MGETHDR().

Btw, is there any way to change NMBCLUSTERS on an i386 system without
have either to reboot or build a new kernel ?

Thanks,

- Arnaud

ps: at the end of the redaction of this mail, the mbuf usage finally dropped:

# netstat -m
2234 mbufs in use:
1978 mbufs allocated to data
256 mbufs allocated to packet headers
8278 calls to protocol drain routines

... but the box still not accessible through the network (even ARP
stays unanswered).

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Manuel Bouyer
2009-05-28 18:35:42 UTC
Permalink
Post by Arnaud Lacombe
Hi,
I have a soekris box, currently running 5.0RC3 which is unable to
handle a 100-connections wall (almost simultaneous). This is quite
frustrating knowing that the box is idle and just rebooted. The error
vr1: unable to allocate Tx cluster
[....]
vr1: unable to allocate Tx cluster
vr1: unable to allocate Tx cluster
vr1: unable to allocate Tx cluster
WARNING: mclpool limit reached; increase NMBCLUSTERS.
# netstat -m
10773 mbufs allocated to data
357 mbufs allocated to packet headers
8265 calls to protocol drain routines
You could have a look at netstat -an, see if there's lot of data in the
queues.
Post by Arnaud Lacombe
The drain calls count increment, but nothing is freed.
The initial message from vr1 is due to a failed MGETHDR().
Btw, is there any way to change NMBCLUSTERS on an i386 system without
have either to reboot or build a new kernel ?
No, the kern.mbuf.nmbclusters sysctl isn't writable on i386.
You can change the nmbclusters global with gdb --write /netbsd though,
this avoids a rebuild.
Post by Arnaud Lacombe
Thanks,
- Arnaud
# netstat -m
1978 mbufs allocated to data
256 mbufs allocated to packet headers
8278 calls to protocol drain routines
... but the box still not accessible through the network (even ARP
stays unanswered).
Maybe a ifconfig down/up on the network interface would help ?
--
Manuel Bouyer <***@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--

--
Posted automagically by a mail2news gateway at muc.de e.V.
Please direct questions, flames, donations, etc. to news-***@muc.de
Loading...