Too many mbufs

Chris McDermott chris.trismegistus at gmail.com
Fri Nov 19 12:21:45 PST 2004


> Would you people please include at least a `uname -a`
> with these posts, even better state the motherboard
> you're running with.   I am NOT seeing this with
> a Tyan s2882, dual 244, with 4GB memory, on 5.3-R #0.

I'm having the same problem, and it seems to be related to
kern.ipc.mbstat. I don't see kern.ipc.mbstat in the output of sysctl
-a. If I try and get the value with sysctlbyname() [copied from
netstat/mbuf.c], it returns negative values for mbstat->m_mbufs. This
negative value does fluctuate with network usage though...

Test code:

#include <sys/types.h>
#include <sys/param.h>
#include <sys/sysctl.h>
#include <sys/mbuf.h>
#include <stdio.h>

int main()
{
	struct mbstat *mbstat;
	size_t mlen;
	
	mlen = sizeof *mbstat;
	if( (mbstat = calloc(1,mlen)) == NULL)
		perror("calloc");
		
	if (sysctlbyname("kern.ipc.mbstat", mbstat, &mlen, NULL, 0) < 0) 
		perror("sysctl: retrieving mbstat");

	printf("mbufs: %d \nclusters: %d\n", mbstat->m_mbufs, mbstat->m_mclusts);
		
	return 0;
}

Output:

mbufs: -2240
clusters: -2686

System:

TYAN s2885 dual 242 512M ram 5.3-R

codefactory# uname -a
FreeBSD codefactory 5.3-RELEASE FreeBSD 5.3-RELEASE #7: Tue Nov  9
23:28:53 EST 2004    
cmc at codefactory:/usr/src/sys/amd64/compile/CODEFACTORY  amd64

codefactory# netstat -m
18446744073709549940 mbufs in use
18446744073709549630/17152 mbuf clusters in use (current/max)
0/0/0 sfbufs in use (current/peak/max)
18014398509477593 KBytes allocated to network
0 requests for sfbufs denied
0 requests for sfbufs delayed
0 requests for I/O initiated by sendfile
0 calls to protocol drain routines

Chris


More information about the freebsd-amd64 mailing list