Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 Jul 2003 22:41:32 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        James West <jwest254@mail.com>
Cc:        freebsd-performance@freebsd.org
Subject:   Re: Major problem with "No buffer space available" errors
Message-ID:  <3F16370C.674EE08D@mindspring.com>
References:  <20030716125123.53307.qmail@mail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

James West wrote:
> I'm having huge problems with "No buffer space available" errors. I've
> increased MAXUSERS to 512 in the kernel, recompiled, rebooted and the
> sysctl values below show that everything is up'ed to the max.

Historically, the most common cause of this message has been an
interface you were actively feeding data going down.  Most commonly,
this occurs in the use of UDP and ICMP protocols (e.g. "ping") out a
downed interface, since they are not constrained by your sendspace
settings, which apply to TCP (they will basically permit you to use
all your buffer in the attempt).

So the questions to answer are:

1)	Are you using a lot of ICMP (e.g. ping, traceroute, RIP, etc.)?

2)	Are you using a lot of UDP (e.g. Linux NFS clients using UDP
	mounts and an rsize or wsize larger than the MTU would permit
	to fit in a single UDP packet)?

Other than that, you should "netstat -an" and add up the contents of
the SendQ/RecvQ columns.  It's possible that, in fact, you *are*
running out of buffer space.  For the default of 64K, you would need
2G of RAM dedicated to nothing but mbufs (not including headers!) to
support only 32,768 simultaneous connections without mbuf overcommit.

Dropping the sndspace/rcvspace paramaters back to their pre-bump-up
defaults will double the number of connections for the same amount
of RAM.

-- Terry



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3F16370C.674EE08D>