mbuf denied problem

Robert Watson rwatson at FreeBSD.org
Sun May 21 23:27:31 UTC 2006


On Sun, 21 May 2006, Peter J. Blok wrote:

> On Sunday 21 May 2006 21:28, Robert Watson wrote:
>> On Sat, 20 May 2006, Robert Watson wrote:
>>> On Fri, 19 May 2006, OxY wrote:
>>>> i have a problem with mbuf... when all my free memory is gone ( i have
>>>> 2gb ram) and memory allocation looks like this:
>>>
>>> I recently received an informal problem report that there is a problem
>>> with the "denied" statistics gathering, so I think it's likely that's
>>> what is going on here.  I'll follow up with the submitter and see if we
>>> can't figure out something more definite.
>>
>> I have received some further information on the problem from the reporter.
>> Could you give this patch a try and see what effect it has?
> I already had made an identical patch and it worked.
>
> This seems to be the problem.

I have committed this patch as uma_core.c:1.137, and will MFC in a couple of 
weeks assuming no additional problems are reported, and it seems to resolve 
the issue.

Robert N M Watson

>>
>> Index: uma_core.c
>> ===================================================================
>> RCS file: /home/ncvs/src/sys/vm/uma_core.c,v
>> retrieving revision 1.136
>> diff -u -r1.136 uma_core.c
>> --- uma_core.c	11 Feb 2006 19:20:56 -0000	1.136
>> +++ uma_core.c	21 May 2006 19:25:56 -0000
>> @@ -2413,8 +2413,7 @@
>>   	 * If nothing else caught this, we'll just do an internal free.
>>   	 */
>>   zfree_internal:
>> -	uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFAIL |
>> -	    ZFREE_STATFREE);
>> +	uma_zfree_internal(zone, item, udata, SKIP_DTOR, ZFREE_STATFREE);
>>
>>   	return;
>>   }
>>
>> Technically, there has been an allocation failure in this case in
>> identifying a bucket to return the item to, but since the overall case is a
>> free, generating a failure statistics update seems undesirable.
>>
>> Thanks,
>>
>> Robert N M Watson
>>
>>> Robert N M Watson
>>>
>>>> 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 at freebsd.org mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>>>
>>> _______________________________________________
>>> freebsd-net at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>>
>> _______________________________________________
>> freebsd-net at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-net
>> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>


More information about the freebsd-net mailing list