wan3610425 发表于 2014-09-13 17:29

slab没有回收


今天升级了一个版本,看了一下slab突然发现slabinfo中有下列一项没有回收。。太奇怪,这个就是分配skbuff时用的,有什么原因会导致回收不了呢,
系统重启后active和num都是1500左右,但是大量浏览网页视频后,就出现这种情况,而且一直回收不了

哪位大神能给点思路,,感谢!

#cat /proc/slabinfo
name            <active_objs> <num_objs> <objsize> <objperslab> <pagesperslab> : tunables <limit> <batchcount> <sharedfactor> : slabdata <active_slabs> <num_slabs> <sharedavail>
kmalloc_dma-4096    1538   2416   4096    8    8 : tunables    0    0    0 : slabdata    302    302   

chenyu105 发表于 2014-09-13 17:36

本帖最后由 chenyu105 于 2014-09-13 17:36 编辑

印象里发送报文skb的释放,在net_tx_action软中断里做,看看这个软中断的情况? cat /proc/softirqs

Tinnal 发表于 2014-09-13 21:02

回复 1# wan3610425


skb应该不会使用4K的页呀,建议把kmalloc的trace打开,看看谁申请的内存,再有针对的研读一下对应的代码。
http://elinux.org/Kernel_dynamic_memory_analysis
http://lwn.net/Articles/124374/
页: [1]
查看完整版本: slab没有回收