<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How the Linux OOM killer works</title>
	<atom:link href="http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/feed/" rel="self" type="application/rss+xml" />
	<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/</link>
	<description>Blog O' Matty</description>
	<lastBuildDate>Tue, 07 Feb 2012 02:31:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: cedricp</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-830524</link>
		<dc:creator>cedricp</dc:creator>
		<pubDate>Mon, 20 Jun 2011 01:32:59 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-830524</guid>
		<description>Those of you running billing apps or DB2 there might want to look into the fact that you can &quot;immunize&quot; process from oom-killer.

This fellow has a nice writeup: http://linux-mm.org/OOM_Killer

The key line being:  &quot;Any particular process leader may be immunized against the oom killer if the value of its /proc//oomadj is set to the constant OOM_DISABLE (currently defined as -17)&quot;

I suppose it won&#039;t really help with the memory leaking billing processes -- without oom-killer, they would crash on their own after leaking a bit more memory, so it&#039;s not really the operating system&#039;s fault that they&#039;re crashing; it&#039;s just killing them slightly before they would have completely f&#039;d themselves, and maybe preventing the whole OS from going down with them.

DB2, on the other hand, should know oom-killer is out there, and guard against it... :)</description>
		<content:encoded><![CDATA[<p>Those of you running billing apps or DB2 there might want to look into the fact that you can &#8220;immunize&#8221; process from oom-killer.</p>
<p>This fellow has a nice writeup: <a href="http://linux-mm.org/OOM_Killer" rel="nofollow">http://linux-mm.org/OOM_Killer</a></p>
<p>The key line being:  &#8220;Any particular process leader may be immunized against the oom killer if the value of its /proc//oomadj is set to the constant OOM_DISABLE (currently defined as -17)&#8221;</p>
<p>I suppose it won&#8217;t really help with the memory leaking billing processes &#8212; without oom-killer, they would crash on their own after leaking a bit more memory, so it&#8217;s not really the operating system&#8217;s fault that they&#8217;re crashing; it&#8217;s just killing them slightly before they would have completely f&#8217;d themselves, and maybe preventing the whole OS from going down with them.</p>
<p>DB2, on the other hand, should know oom-killer is out there, and guard against it&#8230; :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mapage</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-829667</link>
		<dc:creator>Mapage</dc:creator>
		<pubDate>Fri, 05 Nov 2010 17:24:53 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-829667</guid>
		<description>OOM killed our (production) DB2 databases yesterday. You should have seen my boss face when I tried to explain why we needed to restore a DB from backup during the midle of the day, FUN.</description>
		<content:encoded><![CDATA[<p>OOM killed our (production) DB2 databases yesterday. You should have seen my boss face when I tried to explain why we needed to restore a DB from backup during the midle of the day, FUN.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: chm0dvii</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-829233</link>
		<dc:creator>chm0dvii</dc:creator>
		<pubDate>Tue, 13 Apr 2010 21:02:42 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-829233</guid>
		<description>Aix does the same thing, just uses a different program to do this.</description>
		<content:encoded><![CDATA[<p>Aix does the same thing, just uses a different program to do this.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jowblow</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-829229</link>
		<dc:creator>jowblow</dc:creator>
		<pubDate>Thu, 08 Apr 2010 14:51:28 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-829229</guid>
		<description>Aix does the same thing.</description>
		<content:encoded><![CDATA[<p>Aix does the same thing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Julien Gabel</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-828866</link>
		<dc:creator>Julien Gabel</dc:creator>
		<pubDate>Mon, 19 Oct 2009 15:29:23 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-828866</guid>
		<description>&gt; How long until this feature decides to kill an important daemon like nfsd or other critical infrastructure processes which sends the whole box to go boom?

Not too long in my case:
http://blog.thilelli.net/post/2006/12/09/Memory-Behaviour%3A-Tuning-Linuxs-Kernel-Overcommit</description>
		<content:encoded><![CDATA[<p>&gt; How long until this feature decides to kill an important daemon like nfsd or other critical infrastructure processes which sends the whole box to go boom?</p>
<p>Not too long in my case:<br />
<a href="http://blog.thilelli.net/post/2006/12/09/Memory-Behaviour%3A-Tuning-Linuxs-Kernel-Overcommit" rel="nofollow">http://blog.thilelli.net/post/2006/12/09/Memory-Behaviour%3A-Tuning-Linuxs-Kernel-Overcommit</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Milkowski</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-827553</link>
		<dc:creator>Robert Milkowski</dc:creator>
		<pubDate>Thu, 08 Oct 2009 22:21:58 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-827553</guid>
		<description>Woo - the problem with Linux is that by default it overcommits memory - basically when you do a malloc on linux it doesn&#039;t reserve ane swap areay (memory + swap disk) and alway returns as successful. Then if you have couple of programs and all of them actually do want to use the memory the problem starts as system is running out of memory but there is basically no interface to tell it to applications as it already told all of them that there is enough of it... so it starts killing application in order to avoid complete lock. In Solaris everytime malloc() some memory system will reserve required space by default so you won&#039;t end-up in such a situation.</description>
		<content:encoded><![CDATA[<p>Woo &#8211; the problem with Linux is that by default it overcommits memory &#8211; basically when you do a malloc on linux it doesn&#8217;t reserve ane swap areay (memory + swap disk) and alway returns as successful. Then if you have couple of programs and all of them actually do want to use the memory the problem starts as system is running out of memory but there is basically no interface to tell it to applications as it already told all of them that there is enough of it&#8230; so it starts killing application in order to avoid complete lock. In Solaris everytime malloc() some memory system will reserve required space by default so you won&#8217;t end-up in such a situation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Woo</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-827439</link>
		<dc:creator>Woo</dc:creator>
		<pubDate>Wed, 07 Oct 2009 15:18:19 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-827439</guid>
		<description>I&#039;m really surprised that Linux contains such a weird feature. I wonder what state of mind a coder must be to think of a feature that more or less randomly kills processes when the only sane reaction would be an ENOMEM to the offending malloc and letting the offending application handle the error itself.
This really sounds like a basis for entertaining debug sessions... especially as root-owned processes seem to only be avoided instead of fully exempt. How long until this feature decides to kill an important daemon like nfsd or other critical infrastructure processes which sends the whole box to go boom?</description>
		<content:encoded><![CDATA[<p>I&#8217;m really surprised that Linux contains such a weird feature. I wonder what state of mind a coder must be to think of a feature that more or less randomly kills processes when the only sane reaction would be an ENOMEM to the offending malloc and letting the offending application handle the error itself.<br />
This really sounds like a basis for entertaining debug sessions&#8230; especially as root-owned processes seem to only be avoided instead of fully exempt. How long until this feature decides to kill an important daemon like nfsd or other critical infrastructure processes which sends the whole box to go boom?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: implicate_order</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-827344</link>
		<dc:creator>implicate_order</dc:creator>
		<pubDate>Mon, 05 Oct 2009 16:04:48 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-827344</guid>
		<description>We&#039;ve run into the OOM Killer running some critical billing apps in our environment (the Vendor won&#039;t support anything besides RHEL4 on HP DL580s). Don&#039;t ask me why...we&#039;ve beaten ourselves silly over this.

In any case, their application running single-threaded processes bound to specific CPUs and has extensive memory leaks. As a result, OOM kills processes semi-randomly and has caused significant damage by panicking the system(s).</description>
		<content:encoded><![CDATA[<p>We&#8217;ve run into the OOM Killer running some critical billing apps in our environment (the Vendor won&#8217;t support anything besides RHEL4 on HP DL580s). Don&#8217;t ask me why&#8230;we&#8217;ve beaten ourselves silly over this.</p>
<p>In any case, their application running single-threaded processes bound to specific CPUs and has extensive memory leaks. As a result, OOM kills processes semi-randomly and has caused significant damage by panicking the system(s).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Milkowski</title>
		<link>http://prefetch.net/blog/index.php/2009/09/30/how-the-linux-oom-killer-works/comment-page-1/#comment-827150</link>
		<dc:creator>Robert Milkowski</dc:creator>
		<pubDate>Thu, 01 Oct 2009 10:07:25 +0000</pubDate>
		<guid isPermaLink="false">http://prefetch.net/blog/?p=2967#comment-827150</guid>
		<description>OOM killer is in Linux mostly do to workaround problems with memory overcommiting in Linux. Linux is slowly moving into direction of getting rid of memory overcommiting approach (by tweaking /proc you can disable it to some extend for some time now). The truth is that memory overcommiting + OOM killer is a bad thing - killing semi-randomly applications because system allowed them to allocate more virtual memory than it has is just plain stupid in most environments. But as I said - Linux is slowly catching up and getting rid of that unpleasant feature.

btw: in most other Unixes like Solaris OOM killer is not needed as system generally won&#039;t allow for memory overcommitment.

See also - http://developers.sun.com/solaris/articles/subprocess/subprocess.html#overcom</description>
		<content:encoded><![CDATA[<p>OOM killer is in Linux mostly do to workaround problems with memory overcommiting in Linux. Linux is slowly moving into direction of getting rid of memory overcommiting approach (by tweaking /proc you can disable it to some extend for some time now). The truth is that memory overcommiting + OOM killer is a bad thing &#8211; killing semi-randomly applications because system allowed them to allocate more virtual memory than it has is just plain stupid in most environments. But as I said &#8211; Linux is slowly catching up and getting rid of that unpleasant feature.</p>
<p>btw: in most other Unixes like Solaris OOM killer is not needed as system generally won&#8217;t allow for memory overcommitment.</p>
<p>See also &#8211; <a href="http://developers.sun.com/solaris/articles/subprocess/subprocess.html#overcom" rel="nofollow">http://developers.sun.com/solaris/articles/subprocess/subprocess.html#overcom</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

