What triggers "No Buffer Space Available"?

Robert Watson rwatson at FreeBSD.org
Thu May 3 18:23:54 UTC 2007


On Tue, 1 May 2007, Marc G. Fournier wrote:

> I'm still being hit by this one ... more frequently right now as I had to 
> move a bit more stuff *onto* that server ... I'm trying to figure out what I 
> can monitor for a 'leak' somewhere, but the only thing I'm able to find is 
> the whole nmbclusters stuff:
>
> mars# netstat -m | grep "mbuf clusters"
> 130/542/672/25600 mbuf clusters in use (current/cache/total/max)
>
> the above is after 26hrs uptime ...
>
> Is there something else that will trigger/generate the above error message?

ENOBUFS is a common error in the network stack reflecting a lack of free 
memory or exceeding a system, user, or process resource limit.  While the 
classic source of ENOBUFS is mbuf or mbuf cluster exhaustion, there are 
several other sources of the error.  For example, you will get ENOBUFS back if 
you run out of sockets, or a process tries to increase the size of socket 
buffers beyond the user resource limit.  I'd look at all the output of netstat 
-m, not just clusters.  I'd also look at kern.ipc.numopensockets and compare 
it to kern.ipc.maxsockets.

Robert N M Watson
Computer Laboratory
University of Cambridge


More information about the freebsd-stable mailing list