All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: David Rientjes <rientjes@google.com>
Cc: andrea@suse.de, clameter@sgi.com, linux-mm@kvack.org
Subject: Re: [patch -mm 5/5] oom: add sysctl to dump tasks memory state
Date: Wed, 26 Sep 2007 14:47:48 -0700	[thread overview]
Message-ID: <20070926144748.768efcbe.akpm@linux-foundation.org> (raw)
In-Reply-To: <alpine.DEB.0.9999.0709261337080.23401@chino.kir.corp.google.com>

On Wed, 26 Sep 2007 13:46:49 -0700 (PDT)
David Rientjes <rientjes@google.com> wrote:

> > Nor is it obvious why we need it at all.  This sort of information can
> > already be gathered from /proc/pid/whatever.  If the system is all wedged
> > and you can't get console control then this info dump doesn't provide you
> > with info which you're interested in anyway - you want to see the global
> > (or per-cgroup) info, not the per-task info.
> > 
> 
> It can be gathered by other means, yes, but not at the time of OOM nor 
> immediately before a task is killed.  This tasklist dump is done very 
> close to the OOM kill and it represents the per-task memory state, whether 
> system or cgroup, that triggered that event.

OK, that's useful.  But your changelog was completely wrong - it implies
that this sysctl _causes_ the dump, rather than stating that the sysctl
_enables_ an oom-kill-time dump:

  Adds a new sysctl, 'oom_dump_tasks', that dumps a list of all system
  tasks (excluding kernel threads) and their pid, uid, tgid, vm size, rss
  cpu, oom_adj score, and name.

  Helpful for determining why an OOM condition occurred and what rogue
  task caused it.

and silly me believed it.

And now I understand why it has "oom_' in the name.

I'd further suggest that the Documentation/sysctl/vm.txt buries the lede a
bit.  Better would be to start with "Enabling this causes a system-wide
task dump to be produced when the kernel performs an oom-killing ..."

>  This could be done other 
> ways, for instance with an OOM userspace notifier, but that would delay 
> the SIGKILL being sent.  So in the interest of a fast OOM killer, it's 
> best to dump the information ourselves, if the user chose to enable that 
> functionality.
> 
> The information should be displayed in a per-task manner because the 
> global memory state doesn't really matter: we know we're OOM, because 
> we're in the OOM killer.  Showing how little free memory we have isn't 
> immediately helpful on a system-wide basis.  But oom_dump_tasks, the way 
> I've written it, allows you to identify the "rogue" task that is using way 
> more memory than expected and allows you to alter oom_adj scores in the 
> case when the task you've identified, and the one you want dead, isn't the 
> one that ends up being killed.

Well I get it now ;)

--
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/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2007-09-26 21:47 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-22 17:47 [patch -mm 1/5] oom: prevent including sched.h in header file David Rientjes
2007-09-22 17:47 ` [patch -mm 2/5] oom: add header file to Kbuild as unifdef David Rientjes
2007-09-22 17:47   ` [patch -mm 3/5] oom: convert zone_scan_lock from mutex to spinlock David Rientjes
2007-09-22 17:47     ` [patch -mm 4/5] mm: test and set zone reclaim lock before starting reclaim David Rientjes
2007-09-22 17:47       ` [patch -mm 5/5] oom: add sysctl to dump tasks memory state David Rientjes
2007-09-25  4:37         ` Balbir Singh
2007-09-25  4:57           ` David Rientjes
2007-09-26 20:06         ` Andrew Morton
2007-09-26 20:46           ` David Rientjes
2007-09-26 21:47             ` Andrew Morton [this message]
2007-09-27  6:15               ` David Rientjes
2007-09-24 19:05       ` [patch -mm 4/5] mm: test and set zone reclaim lock before starting reclaim Christoph Lameter
2007-09-24 19:14         ` David Rientjes
2007-09-24 20:11           ` Christoph Lameter
2007-09-24 21:02           ` David Rientjes
2007-09-24 21:09             ` Christoph Lameter
2007-09-25  4:26       ` Balbir Singh
2007-09-25  4:34         ` David Rientjes
2007-09-25  6:17           ` Balbir Singh
2007-09-25  6:29             ` David Rientjes
2007-09-25 21:15             ` Christoph Lameter
2007-09-25 21:19               ` David Rientjes
2007-09-25 21:39                 ` Christoph Lameter
2007-09-25 21:43                   ` David Rientjes
2007-09-25 21:14           ` Christoph Lameter
2007-09-25 21:17             ` David Rientjes

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=20070926144748.768efcbe.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=andrea@suse.de \
    --cc=clameter@sgi.com \
    --cc=linux-mm@kvack.org \
    --cc=rientjes@google.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.