[linux-dvb] Re: kernel memleak with DVB drivers

Stefan Seyfried seife at gmane0305.slipkontur.de
Sun Jun 19 12:19:26 CEST 2005


On Sun, Jun 19, 2005 at 11:45:14AM +0200, Johannes Stezenbach wrote:
> Stefan Seyfried wrote:

> > free shows about 10mb "used" more after every round. Everything
> > else looks normal. After ~25 to 30 rounds, the machine runs OOM,
> > without even starting to swap (sure, kernel memory cannot be swapped).
> 
> "free" is pretty much irrelevant for detecting kernel mem leaks
> because it's hard to tell if the mem is just used for caching.

i know. But the "-/+ buffers/cache:"-line accounts for that. I used
this line of course.

> Anyway, post some numbers. If you see the slab growing it would
> be nice to know which one. Try slabtop.

No. In fact if the machine goes towards OOM, slab usage decreases.
 
> What exactly do you mean by OOM? Does the kernel die or
> start to kill processes?

it starts to kill processes. 
But it does not start to swap (~20MB swapped)

After it started killing processes (it also killed the "EPG scanner") i
didn't try to push it further but you cannot do anything to get the memory
back short of rebooting (i stopped almost all userspace processes and still
only had ~10MB of free memory:

tv at heppo:~> free
             total       used       free     shared    buffers     cached
Mem:        256296     252828       3468          0       1260       4448
-/+ buffers/cache:     247120       9176
Swap:       512024      14452     497572

this is what the oom killer told me (the bash was the one from which the 
EPG scanner script was started):

oom-killer: gfp_mask=0xd2
DMA per-cpu:
cpu 0 hot: low 2, high 6, batch 1
cpu 0 cold: low 0, high 2, batch 1
Normal per-cpu:
cpu 0 hot: low 28, high 84, batch 14
cpu 0 cold: low 0, high 28, batch 14
HighMem per-cpu: empty

Free pages:        3748kB (0kB HighMem)
Active:1128 inactive:507 dirty:0 writeback:157 unstable:0 free:937 slab:2273 mapped:1140 pagetables:213
DMA free:1116kB min:124kB low:152kB high:184kB active:32kB inactive:72kB present:16384kB pages_scanned:100 all_unreclaimable? no
lowmem_reserve[]: 0 239 239
Normal free:2632kB min:1916kB low:2392kB high:2872kB active:4480kB inactive:1956kB present:245680kB pages_scanned:635 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
HighMem free:0kB min:128kB low:160kB high:192kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
lowmem_reserve[]: 0 0 0
DMA: 9*4kB 1*8kB 1*16kB 1*32kB 0*64kB 0*128kB 0*256kB 0*512kB 1*1024kB 0*2048kB 0*4096kB = 1116kB
Normal: 168*4kB 17*8kB 4*16kB 1*32kB 1*64kB 1*128kB 0*256kB 1*512kB 1*1024kB 0*2048kB 0*4096kB = 2632kB
HighMem: empty
Swap cache: add 118639, delete 117917, find 41775/67903, race 0+11
Free swap  = 495376kB
Total swap = 512024kB
Out of Memory: Killed process 6869 (bash).
-- 
Stefan Seyfried





More information about the linux-dvb mailing list