heavy file i/o on ext3 filesystem leads to huge ext3_inode_cache and dentry_cache that doesn't return to normal for hours

From: Maarten Maathuis
Date: Thu Aug 03 2006 - 12:24:50 EST


I have a kernel specific problem and this seemed like a suitable place to ask.

I would like responces to be CC'ed to me if possible.

I use a 2.6.17-ck1 kernel on an amd64 system. I have observed this
problem on other/older kernels.

Whenever there is serious hard drive activity (such as doing "slocate
-u") ext3_inode_cache and dentry_cache grow to a combined 400-500 MiB.

The amount of objects is more than half a million.

This will slowly decrease to normal, but will take many hours. It does
not result in any OOM, because i have 1 GiB of memory.

As far as i understand hard drive cache should not be in the slab. Are
these just the inode's, because the amount of memory consumption seems
large for that?

I have found a way to clear the memory (and unfortunately most of the cache):

echo 100 > /proc/sys/vm/nr_hugepages
echo 0 > /proc/sys/vm/nr_hugepages

This suggest the kernel can free this memory. It's not the caching
that bothers me, what bothers me is that it seems to reside in the
slab.

I am not a developer, so please keep that in mind when replying.

I hope someone can be of help.

Sincerely,

Maarten Maathuis.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/