4.9 network not freeing memory

Stephen Clark Stephen.Clark at seclark.us
Thu Mar 30 18:45:19 UTC 2006


damir bikmuhametov wrote:

>On Wed, Mar 29, 2006 at 10:55:30PM -0500, Stephen Clark wrote:
>  
>
>>>Try to increase net.inet.ip.intr_queue_maxlen and monitor
>>>net.inet.ip.intr_queue_drops.
>>>      
>>>
>>Increasing net.inet.ip.intr_queue_maxlen to 400 seems to have fixed the 
>>problem.
>>    
>>
>
>Could you please report this to the list after some testing?
>
>Thanks.
>
>  
>
Do you know if the queue_maxlen is exceeded do the mbufs get lost? It
sort of seems that is
what happens.

This is after a test where I was increment queue_maxlen til queue_drops
were not increasing.
$ sysctl net.inet.ip.intr_queue_drops
net.inet.ip.intr_queue_drops: 27444
X10001:~

At this point the network after my test the network is pretty much quiet.
But there are still mbufs allocated for data??
$ netstat -m
689/5504/131072 mbufs in use (current/peak/max):
         689 mbufs allocated to data
265/4958/32768 mbuf clusters in use (current/peak/max)
11292 Kbytes allocated to network (11% of mb_map in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines


After a reboot:
X10001:~
$ sysctl net.inet.ip.intr_queue_drops
net.inet.ip.intr_queue_drops: 0
X10001:~
$ netstat -m
2/416/131072 mbufs in use (current/peak/max):
         2 mbufs allocated to data
0/44/32768 mbuf clusters in use (current/peak/max)
192 Kbytes allocated to network (0% of mb_map in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines


This after a reboot and another test with queue_maxlen=400
Note there are only 3 mbufs allocated to data.

sysctl net.inet.ip.intr_queue_drops
net.inet.ip.intr_queue_drops: 0
X10001:~
$ netstat -m
3/416/131072 mbufs in use (current/peak/max):
         3 mbufs allocated to data
0/44/32768 mbuf clusters in use (current/peak/max)
192 Kbytes allocated to network (0% of mb_map in use)
0 requests for memory denied
0 requests for memory delayed
0 calls to protocol drain routines


Is there some way to see what the current queue length is? Like the
queue drops.

What do you think?

Regards,
Steve



More information about the freebsd-stable mailing list