mbuf clusters exhausted w/o reaching max?

Mike Silbersack silby at silby.com
Fri Aug 1 13:30:38 PDT 2003

On Fri, 1 Aug 2003, Steve Francis wrote:

> I have a FreeBSD 4.8-RELEASE #5 system that reported:
> Aug  1 11:50:39 rack2-101 /kernel: All mbuf clusters exhausted, please see tuning(7).
> Aug  1 11:50:39 rack2-101 /kernel: All mbufs exhausted, please see tuning(7).
> Yet its not close to the max allowed for clusters.
> rack2-101.nyc# netstat -m
> 1338/4240/131072 mbufs in use (current/peak/max):
>         1338 mbufs allocated to data
> 709/3366/32768 mbuf clusters in use (current/peak/max)
> 7792 Kbytes allocated to network (7% of mb_map in use)
> 50 requests for memory denied
> 0 requests for memory delayed
> 0 calls to protocol drain routines
> rack2-101.nyc#

Mbufs & mbuf clusters are allocated from the kernel map, so it's possible
for allocations to fail due to the kernel map being relatively full due to
other parts of the kernel eating memory.  This is probably what's
happening in your case; given that only 50 allocations were denied, it
probably didn't hurt your system much.

Note that the kernel map is not the size of all ram; it's usually only 1/4
of the amount of ram available, with a ceiling of 256MB.  You could try
playing with those parameters, but you'll probably end up causing other
problems in the process.  :)

(Fair kernel memory management is an area we're still working on in

Mike "Silby" Silbersack

More information about the freebsd-net mailing list