All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chris Friesen <chris.friesen@genband.com>
To: Bryan Donlan <bdonlan@gmail.com>
Cc: Pavel Ivanov <paivanof@gmail.com>,
	Denys Vlasenko <vda.linux@googlemail.com>,
	Mahmood Naderan <nt_mahmood@yahoo.com>,
	David Rientjes <rientjes@google.com>,
	Randy Dunlap <rdunlap@xenotime.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: running of out memory => kernel crash
Date: Fri, 19 Aug 2011 15:19:34 -0600	[thread overview]
Message-ID: <4E4ED366.1090104@genband.com> (raw)
In-Reply-To: <CAF_S4t--+Ufkb2bVrt9e59R=yty5U5Cb=Kt5RbjPjraM_equog@mail.gmail.com>

On 08/19/2011 01:29 PM, Bryan Donlan wrote:
> On Thu, Aug 18, 2011 at 10:26, Pavel Ivanov<paivanof@gmail.com>  wrote:

>> Could you elaborate on this? We have a completely unusable server
>> which can be revived only by hard power cycling (administrators won't
>> be able to log in because sshd and shell will fall victims of the same
>> unending disk reading). And as an alternative we can kill some process
>> and at least allow administrator to log in and check if something else
>> can be done to make server feel better. Why is it worse?
>>
>> I understand that it could be very hard to detect such situation but
>> at least it's worth trying I think.
>
> Deciding when to call the server unusable is a policy decision that
> the kernel can't make very easily on its own; the point when the
> system is considered unusable may be different depending on workload.
> You could create a userspace daemon, however, that mlockall()s, then
> monitors memory usage, load average, etc and kills processes when
> things start to go south. You could also use the memory resource
> cgroup controller to set hard limits on memory usage.

Indeed.  From the point of view of the OS, it's running everything on 
the system without a problem.  It's deep into swap, but it's running.

If there are application requirements on grade-of-service, it's up to 
the application to check whether those are being met and if not to do 
something about it.

Chris

-- 
Chris Friesen
Software Developer
GENBAND
chris.friesen@genband.com
www.genband.com

WARNING: multiple messages have this Message-ID (diff)
From: Chris Friesen <chris.friesen@genband.com>
To: Bryan Donlan <bdonlan@gmail.com>
Cc: Pavel Ivanov <paivanof@gmail.com>,
	Denys Vlasenko <vda.linux@googlemail.com>,
	Mahmood Naderan <nt_mahmood@yahoo.com>,
	David Rientjes <rientjes@google.com>,
	Randy Dunlap <rdunlap@xenotime.net>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: running of out memory => kernel crash
Date: Fri, 19 Aug 2011 15:19:34 -0600	[thread overview]
Message-ID: <4E4ED366.1090104@genband.com> (raw)
In-Reply-To: <CAF_S4t--+Ufkb2bVrt9e59R=yty5U5Cb=Kt5RbjPjraM_equog@mail.gmail.com>

On 08/19/2011 01:29 PM, Bryan Donlan wrote:
> On Thu, Aug 18, 2011 at 10:26, Pavel Ivanov<paivanof@gmail.com>  wrote:

>> Could you elaborate on this? We have a completely unusable server
>> which can be revived only by hard power cycling (administrators won't
>> be able to log in because sshd and shell will fall victims of the same
>> unending disk reading). And as an alternative we can kill some process
>> and at least allow administrator to log in and check if something else
>> can be done to make server feel better. Why is it worse?
>>
>> I understand that it could be very hard to detect such situation but
>> at least it's worth trying I think.
>
> Deciding when to call the server unusable is a policy decision that
> the kernel can't make very easily on its own; the point when the
> system is considered unusable may be different depending on workload.
> You could create a userspace daemon, however, that mlockall()s, then
> monitors memory usage, load average, etc and kills processes when
> things start to go south. You could also use the memory resource
> cgroup controller to set hard limits on memory usage.

Indeed.  From the point of view of the OS, it's running everything on 
the system without a problem.  It's deep into swap, but it's running.

If there are application requirements on grade-of-service, it's up to 
the application to check whether those are being met and if not to do 
something about it.

Chris

-- 
Chris Friesen
Software Developer
GENBAND
chris.friesen@genband.com
www.genband.com

--
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>

  reply	other threads:[~2011-08-19 21:19 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-09  6:53 running of out memory => kernel crash Mahmood Naderan
2011-08-09  7:06 ` Randy Dunlap
2011-08-09  7:06   ` Randy Dunlap
2011-08-09  7:17   ` Mahmood Naderan
2011-08-09 16:03     ` David Rientjes
2011-08-09 16:03       ` David Rientjes
2011-08-10  8:14       ` Mahmood Naderan
2011-08-10  8:14         ` Mahmood Naderan
2011-08-11  4:09         ` David Rientjes
2011-08-11  4:09           ` David Rientjes
2011-08-11  7:07           ` Mahmood Naderan
2011-08-11  7:07             ` Mahmood Naderan
2011-08-11  7:13             ` David Rientjes
2011-08-11  7:13               ` David Rientjes
2011-08-11  8:02               ` Mahmood Naderan
2011-08-11  8:02                 ` Mahmood Naderan
2011-08-11 12:47                 ` Denys Vlasenko
2011-08-11 12:47                   ` Denys Vlasenko
2011-08-11 15:13                   ` Mahmood Naderan
2011-08-11 15:13                     ` Mahmood Naderan
2011-08-11 17:38                     ` Denys Vlasenko
2011-08-11 17:38                       ` Denys Vlasenko
2011-08-17  8:50                       ` Mahmood Naderan
2011-08-17  8:50                         ` Mahmood Naderan
2011-08-18  2:18                       ` Pavel Ivanov
2011-08-18  2:18                         ` Pavel Ivanov
2011-08-18 12:44                         ` Denys Vlasenko
2011-08-18 12:44                           ` Denys Vlasenko
2011-08-18 14:26                           ` Pavel Ivanov
2011-08-18 14:26                             ` Pavel Ivanov
2011-08-18 22:25                             ` Denys Vlasenko
2011-08-18 22:25                               ` Denys Vlasenko
2011-08-19 19:21                               ` David Rientjes
2011-08-19 19:21                                 ` David Rientjes
2011-08-19 19:29                             ` Bryan Donlan
2011-08-19 19:29                               ` Bryan Donlan
2011-08-19 21:19                               ` Chris Friesen [this message]
2011-08-19 21:19                                 ` Chris Friesen
2011-08-19 21:38                                 ` Alan Cox
2011-08-19 21:38                                   ` Alan Cox

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E4ED366.1090104@genband.com \
    --to=chris.friesen@genband.com \
    --cc=bdonlan@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=nt_mahmood@yahoo.com \
    --cc=paivanof@gmail.com \
    --cc=rdunlap@xenotime.net \
    --cc=rientjes@google.com \
    --cc=vda.linux@googlemail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.