On Sat, 20 May 2006, Peter Blok wrote:
I have posted a reply to similar questions a couple of times. Although I'm
subscribed to freebsd-net I never saw the answer appear in the list.
The ... denied counts is coming from calling uma_reclaim, which will in the
end call uma_zfree_internal which is increasing the fail counter.
I am not sure, but I believe the mbuf and cluster zones are static. So if I
set the UMA_ZONE_NOFREE flag in kern_mbuf.c, no attempt will be made to do a
free at all.
Here's my patch. It works, but I'm not sure it is ok.
Allowing mbuf memory to be reclaimed for the purposes of other subsystems was
an intentional design choice. If it's not working right, it should be fixed,
but not disabled. The below change means that after a network load spike, the
memory can't be returned for use by other subsystems.
Robert N M Watson
--- sys/kern/kern_mbuf.c.orig Sun Apr 9 13:32:51 2006
+++ sys/kern/kern_mbuf.c Sun Apr 9 13:33:19 2006
@@ -168,7 +168,7 @@
#else
NULL, NULL,
#endif
- MSIZE - 1, UMA_ZONE_MAXBUCKET);
+ MSIZE - 1, UMA_ZONE_MAXBUCKET|UMA_ZONE_NOFREE);
zone_clust = uma_zcreate(MBUF_CLUSTER_MEM_NAME, MCLBYTES,
mb_ctor_clust, mb_dtor_clust,
@@ -177,7 +177,7 @@
#else
NULL, NULL,
#endif
- UMA_ALIGN_PTR, UMA_ZONE_REFCNT);
+ UMA_ALIGN_PTR, UMA_ZONE_REFCNT|UMA_ZONE_NOFREE);
if (nmbclusters > 0)
uma_zone_set_max(zone_clust, nmbclusters);
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of OxY
Sent: Friday, May 19, 2006 12:06 AM
To: freebsd-net@freebsd.org
Cc: Jin Guojun [VFFS]
Subject: mbuf denied problem
hi!
i have a problem with mbuf...
when all my free memory is gone ( i have 2gb ram) and
memory allocation looks like this:
Mem: 30M Active, 1607M Inact, 245M Wired, 84M Cache, 214M Buf, 3028K Free
Swap: 695M Total, 695M Free
mbuf starts to deny...
netstat -m show 0 deny till has memory, after that i see this:
Field root# netstat -m
629/466/1095 mbufs in use (current/cache/total)
512/176/688/65536 mbuf clusters in use (current/cache/total/max)
512/133 mbuf+clusters out of packet secondary zone in use (current/cache)
0/0/0/0 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/0 9k jumbo clusters in use (current/cache/total/max)
0/0/0/0 16k jumbo clusters in use (current/cache/total/max)
1181K/468K/1649K bytes allocated to network (current/cache/total)
7410219/101093/101499 requests for mbufs denied
(mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/0/0 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
25288 requests for I/O initiated by sendfile
65 calls to protocol drain routines
this is my sysctl.conf:
net.inet.tcp.delayed_ack=0
net.inet.ip.intr_queue_maxlen=400
net.inet.tcp.inflight.enable=0
net.route.netisr_maxqlen=512
kern.ipc.somaxconn=1024
should i attach any other conf/log,etc?
thanks!
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"
_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"