[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IRC-Problem
On Apr 03, Kurt Roeckx wrote:
| On Mon, Apr 03, 2000 at 05:48:37PM +0100, Thomas Hagen Trocha wrote:
| >
| > Hi there,
| > it's me Thomas Trocha. I'm using the ircd - server.
| > No problems but as I wanted to test how many
| > connections the server would manage after 600 users
| > the debug-information let the error-message "buffer allocation error" followed
| > by "Resource temporaly unavailable" appear.
|
| Where did yous ee those messages? I assume &errors.
|
| What OS are you running this on?
|
| I have a feeling that the box is running out of memory.
|
| "Buffer allocation error for %s" is generated when valloc (malloc) returns
| NULL. This means that either you're out of ram, or malloc doesn't know how
| to alloc more. You should probably check your OS's manual.
actually, this isn't quite true.
it is returned when the server runs out of dbufs.
dbufs are pre-allocated on startup and allocation of
additional dbufs is only rarely allowed.
there are two problems here:
1/ the formula for pre-allocation isn't even close to being
perfect. in your case, i think it's too low. stop ircd,
edit ircd.tune, and increase the number on last line to
manually adjust the pre-allocation. check with /stats z
2/ the decision to allow the allocation of more dbufs is
based on a few assumptions, (all?) most of which are more
or less wrong.
these flaws have been known for a long time, but i never had
time to actually make the necessary changes.
| Clients are existed because they we couldn't alloc enough memory to hold
| the data in the send queue for them. It could also be that the OS can't
| hold the buffers, in which case you ussually get the "Resource temporaly
| unavailable".
most likely, ircd ran out of dbufs, and still had to add
things to many clients' sendq. quite deadly.