slab needs more agressive trimming

David S. Miller (davem@jenolan.rutgers.edu)
Sun, 21 Sep 1997 04:25:51 -0400


I think all the 2.1.x buffer cache and dcache memory hogging problems
have transformed into an other one.

Things get free'd, but the SLAB doesn't get rid of the stuff even when
things reach a rediculious state. These stats are from my
workstation.

in-use free
[ ... ]
buffer_head 596 96300
[ ... ]
size-128 735 43400
size-64 1682 44184

Yet attempts to allocate any memory by a user process tends to fail.
I think try_to_free_page() should more agressively hit the SLABs.

I've even seen this behavior lead to fork()'s failing until I killed
off some huge job like GNU emacs or whatever.

Although I will note that 3 or 4 days of uptime and at least moderate
usage are needed before things get this way...

Later,
David "Sparc" Miller
davem@caip.rutgers.edu