Re: 2.0.30 bends but doesn't break mke2fs

Paul Gortmaker (
Sun, 13 Apr 1997 13:32:22 +1000 (EST)

> Apr 11 20:55:53 server kernel: Couldn't get a free page.....
> I've seen similar messages for quite a while, but the changes to buffer.c in
> 2.0.30 do seem to make them more common. I'm fairly sure that some work is
> still needed in 2.0.30+ to be more agressive in making memory available to the
> kernel when necessary.
> Leonard

It is relatively easy to cause slower machines (386's) with low
mem (4 -> 8MB) to get stuck in an endless loop spewing this message once
every 10s even when there are many MB of free swap still available.
Hitting reset is about the only way out (happens with 2.0.29 and 2.1.x).

A cure for the symptom (but not a real fix for the problem) is to up the
/proc/sys/vm/freepages values. The defaults of 16/24/32 for all machines
with 8MB or less RAM seem simply too low. With 30/40/50 on a 5MB 386-40
the problem never rears its ugly head.

You can artificially induce the same problem on faster machines with more
RAM by using small vm/freepages values, or by disabling the L1 (+L2) cache
and using a mem=4M boot argument to lilo. (If your bogomips haven't dropped
your L1 cache is still on.)