LWN.net Logo

The end of the 3.12 merge window

The end of the 3.12 merge window

Posted Sep 26, 2013 21:39 UTC (Thu) by dlang (✭ supporter ✭, #313)
In reply to: The end of the 3.12 merge window by heijo
Parent article: The end of the 3.12 merge window

OOM conditions are generally times of massive problems for apps.

remember that most systems have the sane setting of using CoW for memory, so they don't get errors when the memory is allocated, but instead sometime later when something dirties ram.

I call this the sane setting, because disabling overcommit and requiring that your system not do the CoW trick ends up wasting so much of your ram that you end up with far more failures, and the vast majority of code doesn't check for errors even in those cases.


(Log in to post comments)

The end of the 3.12 merge window

Posted Sep 29, 2013 9:51 UTC (Sun) by kleptog (subscriber, #1183) [Link]

This is a good change. Processes that do check return values (like PostgreSQL) will function much better under this system...

The end of the 3.12 merge window

Posted Sep 29, 2013 22:09 UTC (Sun) by dlang (✭ supporter ✭, #313) [Link]

> This is a good change. Processes that do check return values (like PostgreSQL) will function much better under this system...

do they really work better? or is it just theory that they work better?

If overcommit is enabled, the out of memory error isn't that likely to happen when memory is allocated, or a process forks. It's going to happen when memory is used (a variable changed, etc)

but if you turn off overcommit, you either need such a ridiculously large amount of swap that your system will be essentially dead from swapping long before you hit OOM, or you end up being unable to really use all your memory because large chunks of it are reserved for the 'just in case' situation that every CoW page will get split that never happens.

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds