On Tue, 2005-06-28 at 08:27 +1000, ? ? wrote:
> On 6/28/05, Rolf Sommerhalder <rolf dot sommerhalder at alumni dot ethz dot ch> wrote:
> > My generic-PC 1.2b8 runs as a filtering bridge on a 4 Mbit/s symmetric
> > connection and after 3 days uptime shows in the syslog:
> > /kernel: All mbufs exhausted, please see tuning(7).
> >
> > The bridge apparently still works, even though log outputs is severly
> > limited to a few lines only (I had set it at 200 lines).
> >
> > output of 'netstat -m' is:
> >
> > $ netstat -m
> > 9468/9536/9536 mbufs in use (current/peak/max):
> > 100 mbufs allocated to data
> > 9368 mbufs allocated to packet headers
> > 69/198/2384 mbuf clusters in use (current/peak/max)
> > 2780 Kbytes allocated to network (38% of mb_map in use)
> > 46 requests for memory denied
> > 0 requests for memory delayed
> > 6 calls to protocol drain routines
> >
> > Any hints of ehat I should try? (If needed, I can compile the kernel and
> > produce a new custom image, no problem.)
> >
> > Rolf
> >
>
> You need to up the max number of network memory buffers, using:
> > sysctl -w kern.ipc.nmbclusters=X
>
> For a value for X, considering memory and usage of the machine, here
> is the relevant bit from tuning(7):
> kern.ipc.nmbclusters may be adjusted to increase the number of network
> mbufs the system is willing to allocate. Each cluster represents approx-
> imately 2K of memory, so a value of 1024 represents 2M of kernel memory
> reserved for network buffers. You can do a simple calculation to figure
> out how many you need. If you have a web server which maxes out at 1000
> simultaneous connections, and each connection eats a 16K receive and 16K
> send buffer, you need approximately 32MB worth of network buffers to deal
> with it. A good rule of thumb is to multiply by 2, so 32MBx2 = 64MB/2K =
> 32768. So for this case you would want to set kern.ipc.nmbclusters to
> 32768. We recommend values between 1024 and 4096 for machines with mod-
> erates amount of memory, and between 4096 and 32768 for machines with
> greater amounts of memory. Under no circumstances should you specify an
> arbitrarily high value for this parameter, it could lead to a boot-time
> crash. The -m option to netstat(1) may be used to observe network clus-
> ter use. Older versions of FreeBSD do not have this tunable and require
> that the kernel config(8) option NMBCLUSTERS be set instead.
>
> ie: it depends what you're using it for and how much memory it has.
Does anyone have a recommended value for network buffers on a wrap board
with 64MB of memory?
>
> --g'luck
> gm
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: m0n0wall dash unsubscribe at lists dot m0n0 dot ch
> For additional commands, e-mail: m0n0wall dash help at lists dot m0n0 dot ch
>