Messages in this thread | | | Date | Sun, 25 Mar 2001 10:02:03 -0500 | From | Sandy Harris <> | Subject | Re: [PATCH] Prevent OOM from killing init |
| |
Kurt Garloff wrote:
> Kernel related questions IMHO are: > (1) Why do we get into OOM?
There was a long thread about this a few months back. We get into OOM because malloc(), calloc() etc. can allocate more memory than is actually available.
e.g. Say you have machine with 64 RAM + 64 swap = 128 megs with 40 megs in use, so 88 free. Now two processes each malloc() 80 megs. Both succeed. If both processes then use that memory, someone is likely to fail later.
> Can we avoid it?
The obvious solution is to consider the above behaviour a bug and fix it. The second malloc() should fail. The process making that call can then look at the return value and decide what to do about the failure.
However, this was extensively discussed here last year, and that solution was quite firmly rejected. I never understood the reasons. See the archives.
Someone did announce they were working on patches implementing a sane malloc(). What happened to that project? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |