Re: OOM in 2.2.14

From: Rik van Riel (riel@conectiva.com.br)
Date: Fri Jul 14 2000 - 11:53:14 EST


On 14 Jul 2000 jmcmullan@linuxcare.com wrote:
> Rik van Riel <riel@conectiva.com.br> wrote:
> > On 13 Jul 2000 jmcmullan@linuxcare.com wrote:
>
> >> That is yet another alternative. The point is to put all
> >> of the process killing logic in user-land - not to quibble about
> >> possible implementations of such logic.
>
> > Let me repeat myself: NO MEMORY LEFT. NADA. ZILCH. NOTHING.
>
> So when I say that the daemon would start killing processes
> when it gets a message from the kernel that 90% of VM is in use,
> it can't run because that 10% of VM that isn't in use doesn't exist?
>
> Color me confused. The daemon runs BEFORE an OOM, but in
> NEAR OOM conditions - ie. only 10% of VM left, or 5M of VM, or
> whatever the user set the limit to be.
>
> The killing STARTS at 10% of VM remaining.

Which is wrong.

As long as there is enough _freeable_ memory around we must not
kill anything with OOM. In fact, my OOM code doesn't kill anything
as long as do_try_to_free_pages is able to free the pages it needs.

It is a very common situation that systems have no free memory but
tons of easily _freeable_ memory, like cache or pages which are
duplicated in both swap and memory. In that case it is just not
acceptable to start killing processes.

Also, how is your "90%" measure applicable to machines without
swap?

regards,

Rik

--
"What you're running that piece of shit Gnome?!?!"
       -- Miguel de Icaza, UKUUG 2000

http://www.conectiva.com/ http://www.surriel.com/

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



This archive was generated by hypermail 2b29 : Sat Jul 15 2000 - 21:00:20 EST