Messages in this thread | | | Date | Thu, 24 Mar 2011 18:22:40 +0900 | From | KAMEZAWA Hiroyuki <> | Subject | [PATCH 0/4] forkbomb killer |
| |
Cleaned up and fixed unclear logics. and removed RFC. Maybe this version is easy to be read.
When we see forkbomb, it tends can be a fatal one.
When A user makes a forkbomb (and sometimes reaches ulimit.... In this case, - If the system is not in OOM, the admin may be able to kill all threads by hand..but forkbomb may be faster than pkill() by admin. - If the system is in OOM, the admin needs to reboot system. OOM killer is slow than forkbomb.
So, I think forkbomb killer is appreciated. It's better than reboot.
At implementing forkbomb killer, one of difficult case is like this
# forkbomb(){ forkbomb|forkbomb & } ; forkbomb
With this, parent tasks will exit() before the system goes under OOM. So, it's difficult to know the whole image of forkbomb.
This patch introduce a subsystem to track mm's history and records it even after the task exit. (It will be flushed periodically.)
I tested with several forkbomb cases and this patch seems work fine.
Maybe some more 'heuristics' can be added....but I think this simple one works enough. Any comments are welcome. Thanks, -Kame
| |