Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 08 Oct 2003 12:10:47 +0200
From:      Peter Bozarov <peter.bozarov@moniforce.com>
To:        freebsd-hackers@freebsd.org
Subject:   Recovery from mbuf cluster exhaustion
Message-ID:  <3F83E2A7.8070209@moniforce.com>

next in thread | raw e-mail | index | archive | help
Hi, all,

(First off, I hope I'm posting to the right list.)

I have the following question regarding mbuf cluster exhaustion.
If I've managed to exhaust the pool, I start getting the usual
"All mbuf clusters exhausted, please see tuning(7)." message.
Now, at that point this is what my mbuf pool looked like:

[grid] ~ $ netstat -m
4305/4944/18240 mbufs in use (current/peak/max):
         4305 mbufs allocated to data
4560/4560/4560 mbuf clusters in use (current/peak/max)
10356 Kbytes allocated to network (75% of mb_map in use)
8832 requests for memory denied
1 requests for memory delayed
0 calls to protocol drain routines
[grid] ~ $

Now, the problem is not in the fact that this occurs, and
tuning the kernel parameters is not what I'm interested in,
since I don't need a larger pool.

What I can't seem to figure out is how to flush out the
"stale" mbufs/clusters. I can close down all network
interfaces, and kill/restart most of the processes that I
presume use up the mbufs. At a given point, there can't
possibly be any processes that are hogging the mbuf
clusters. Yet, a while later, this is what the pool
looks like

[grid] ~ $ netstat -m
4305/4944/18240 mbufs in use (current/peak/max):
         4305 mbufs allocated to data
4304/4560/4560 mbuf clusters in use (current/peak/max)
10356 Kbytes allocated to network (75% of mb_map in use)
8832 requests for memory denied
1 requests for memory delayed
0 calls to protocol drain routines
[grid] ~ $

A few clusters have been freed. But not much. Now, if
(presumably) no clusters are being used by a process,
should they not be released by the kernel? Alternatively,
how can I enforce this (short of rebooting the machine,
which is *not* the solution I'm looking for)?

Thanks a lot for any input!

Peter



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