Re: running of out memory => kernel crash
From: Denys Vlasenko <hidden>
Date: 2011-08-18 12:45:19
Also in:
lkml
On Thu, Aug 18, 2011 at 4:18 AM, Pavel Ivanov [off-list ref] wrote:
quoted
quoted
Why "killing" does not appear here? Why it try to "find some recently used page"?Because killing is the last resort. As long as kernel can free a page by dropping an unmodified file-backed page, it will do that. When there is nothing more to drop, and still more free pages are needed, _then_ kernel will start oom killing.I have a little concern about this explanation of yours. Suppose we have some amount of more or less actively executing processes in the system. Suppose they started to use lots of resident memory. Amount of memory they use is less than total available physical memory but when we add total size of code for those processes it would be several pages more than total size of physical memory. As I understood from your explanation in such situation one process will execute its time slice, kernel will switch to other one, find that its code was pushed out of RAM, read it from disk, execute its time slice, switch to next process, read its code from disk, execute and so on. So system will be virtually unusable because of constantly reading from disk just to execute next small piece of code. But oom will never be firing in such situation. Is my understanding correct?
Yes.
Shouldn't it be considered as an unwanted behavior?
Yes. But all alternatives (such as killing some process) seem to be worse. -- vda -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>