Re: oom killer in 2.4.23

From: Kristian Peters
Date: Fri Dec 05 2003 - 08:06:45 EST


Andrea Arcangeli <andrea@xxxxxxx> schrieb:
> Marcelo asked me to to make it configurable at runtime so you could go
> in the deadlock prone stautus of 2.4.22 on demand, but I'm not going to
> add more features to 2.4 today unless they're blocker bugs (even if that
> would be simple to implement), actually it's not even my choice so don't
> ask me for that sorry.

Andrea, your vm does not work correctly in any cases.

It's so simple. I've tried to fill up my memory with that crappy khexedit that comes with kde2. You'll see how my memory fills with the contents of the whole file I load. When I have started 2 or 3 instances of khexedit my memory was nearly completely filled. Than I tried to start another khexedit (with a file that should nearly fit into memory), and the pain began.

See:

Dec 5 13:33:52 adlib kernel: __alloc_pages: 2-order allocation failed (gfp=0x1f0/0)
Dec 5 13:33:52 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:33:59 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:33:59 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:34:00 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
Dec 5 13:34:01 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:34:02 adlib last message repeated 3 times

-------> kernel killed wmfire without saying

Dec 5 13:34:02 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:34:03 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:34:18 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:34:18 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:34:22 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:34:22 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:34:28 adlib last message repeated 3 times

-------> kernel killed xosview without mentioning

Dec 5 13:34:29 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:34:29 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:34:32 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:34:41 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
Dec 5 13:34:41 adlib kernel: VM: killing process khexedit

-------> that was intended



Ok. That still is acceptable but when I tried to start mozilla, it got even worse:

Dec 5 13:37:26 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:37:27 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
Dec 5 13:37:27 adlib kernel: VM: killing process mozilla-bin
Dec 5 13:37:27 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:37:27 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:37:28 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:37:30 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:37:30 adlib last message repeated 2 times
Dec 5 13:37:30 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:37:40 adlib last message repeated 3 times
Dec 5 13:37:56 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
Dec 5 13:37:56 adlib kernel: VM: killing process mozilla-bin

-------> that was intended too
-------> but not the killing of another xosview and aterm

Dec 5 13:37:57 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:37:57 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0xf0/0)
Dec 5 13:37:58 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1f0/0)
Dec 5 13:40:32 adlib kernel: __alloc_pages: 0-order allocation failed (gfp=0x1d2/0)
Dec 5 13:40:32 adlib kernel: VM: killing process XFree86

-------> ouch ...


Ok. Could you please describe what your vm really does here in my specific case ?
Rick's old vm worked better. It'd have killed the task that had last allocated memory.

PS: If you need more details it should be no problem to do this again.

*Kristian


_o)
/\\
_\_V

-
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/