Taming the OOM killer
Posted Feb 7, 2009 21:37 UTC (Sat) by giraffedata
In reply to: Taming the OOM killer
Parent article: Taming the OOM killer
the ability to overcommit memory should never have been created in the first place.
I think you misunderstand the role overcommit plays in the issue. All it does is change which process gets arbitrarily killed when the unthinkable happens and the system exceeds the memory usage you planned for.
With overcommit, the OOM Killer uses a sophisticated algorithm to decide which process to kill. Without overcommit, the rule is simple: whatever next requests virtual memory (basically, malloc) dies. That process may be using very little memory, may be using the same amount it's used 100 times before without incident, and may be very important.
Oh, and with overcommit it's far less likely that anything at all will die.
There are systems (probably interactive, like the one you describe) where killing the next process to allocate memory is the least painful thing. There are plenty where it isn't.
to post comments)