RE: kernel memory leak?

From: Dow, Benjamin (
Date: Tue Oct 08 2002 - 13:16:18 EST

I sent this out yesterday, and never got a reply. Normally, I'd be far more
patient, but I'm afraid that by now people have forgotten about it, and I'm
under a LOT of pressure by management to get this fixed soon.

To recap my previous e-mail, every time I access a file, 4k of memory gets
allocated, and never gets freed, to the point of eventually triggering the
OOM killer. I don't know nearly enough about the VM to debug this myself,
so even a pointer to where to start looking would be helpful.

Thanks in advance


-----Original Message-----
From: Dow, Benjamin []
Sent: Monday, October 07, 2002 5:59 PM
To: ''
Subject: kernel memory leak?

I (read: my company) am working on a semi-embedded system (no swap, booting
onto a ramdisk), and I recently changed linux kernels from 2.4.9 to 2.4.19.
Nearly everything works fine, except that whenever I read a file, it
allocates 4k of memory (cat /proc/meminfo reports 4k less memory, and
/proc/slabinfo reports that buffer_head increases by 4k, but those are the
only changes). I found a thread from back in July or so on LKML where
somebody had a similar problem on 2.4.19-rc3, and Rik said that this was
normal, and the vm would release this memory under pressure, except when I
start a bunch of processes to use up memory and repeatedly cat
/proc/meminfo, the OOM killer is eventually triggered.

I'm running 2.4.19 with both the low-latency and kernel preemption patches
applied (though I recompiled the kernel with those disabled and the problem
still occurred), as well as a few changes of our own (though none of those
seem to touch the filesystem/vm layers). It's a powerpc chip with 64 megs
of ram (roughly 28 of which are free after we load the kernel/ramdisk and
all our apps). I tried to reproduce the problem on my PC (booted up without
X, specified mem=8M on command line, and turned off swap), which is also
2.4.19 and also has the kernel preemption and low-latency patches applied,
but is not booting from a ramdisk and is, obviously, a different
architecture, and it did allocate 4k blocks for a while, but then stopped
(or, more accurately, it would allocate 4k and then the next time I did a
cat /proc/meminfo it would be back to its original value).

So I guess my question is:
1) What is eating up memory and not allowing it to be freed, and
2) Why does it allocate 4k of memory every single time I access a file,

Any help would be greatly appreciated.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:26 EST