Messages in this thread | | | Date | Sun, 16 Aug 1998 08:19:36 -0400 (EDT) | From | "Stephen M. Benoit" <> | Subject | Re: A true story of a crash. |
| |
On Sat, 15 Aug 1998, Matt Agler wrote: > On Sat, 15 Aug 1998, Albert D. Cahalan wrote: > > Our current situation is bad. At the very least, Rik van Riel's process > > killer will not be worse than what we already have. I expect that most > > people will find it much better than merely "not worse" though. > > > > > It would be better and simpler to let the user or admin decide what to > > > kill. Instead of killing a process, we should put it to sleep. > > > > End result: 100% memory use, 100% idle, all processes stopped. > > That depends on implementation. Of course, if you let every last page get > used before doing anything, you're stuck.
Am I missing the point? I was under the impression that there is a well-defined behavior when a Un*x reaches memory resource limits. Additional requests for resources are simply denied: currently executing processes don't get axed until they segfault, get signalled or exit().
How does the population in user space grow? Only a handful of ways I can think of: - malloc(3), realloc, etc. - fork(2) - execve(2) - ...
Each one will fail if there is insufficient virtual memory, so each application is responsible for detecting NULL from malloc(), -1 from fork(), and so on, giving it a chance to do other work or exit().
Is this First-Come, First-Served mechanism failing in the case of the original poster? I suspect that once a few apps exit() from this kind of starvation, there would still be enough room to run bash and do sysadmin tasks.
BTW, when you really must have your server under a lighter load to work properly, there are some obvious adjustments we could make, including more RAM. Having an emergency swap file/partition would be nice. On my production (2.0.xx) servers, I have hardware watchdogs that reset the machine if a certain userland process stops responding after a few minutes.
_____________________________ Stephen M. Benoit _______________________________ ~ ~ | benoits@servicepro.com | B.Eng (Computer), M.Eng (Electrical) ('>') | Tel: +1 514 255-3550 | Service Providers of America INC _ | FAX: +1 514 256-1356 | Web page: http://www.servicepro.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.altern.org/andrebalsa/doc/lkml-faq.html
| |