[linux-dvb] Re: kernel memleak with DVB drivers
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):
cpu 0 hot: low 2, high 6, batch 1
cpu 0 cold: low 0, high 2, batch 1
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
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).
More information about the linux-dvb