From: Dave Jones <davej@redhat.com>
To: David Rientjes <rientjes@google.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>, linux-mm@kvack.org
Subject: Re: oomkillers gone wild.
Date: Fri, 8 Jun 2012 16:03:17 -0400 [thread overview]
Message-ID: <20120608200317.GA18693@redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1206081256330.19054@chino.kir.corp.google.com>
On Fri, Jun 08, 2012 at 12:57:36PM -0700, David Rientjes wrote:
> On Tue, 5 Jun 2012, Dave Jones wrote:
>
> > OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
> > 142524 142420 99% 9.67K 47510 3 1520320K task_struct
> > 142560 142417 99% 1.75K 7920 18 253440K signal_cache
> > 142428 142302 99% 1.19K 5478 26 175296K task_xstate
> > 306064 289292 94% 0.36K 6956 44 111296K debug_objects_cache
> > 143488 143306 99% 0.50K 4484 32 71744K cred_jar
> > 142560 142421 99% 0.50K 4455 32 71280K task_delay_info
> > 150753 145021 96% 0.45K 4308 35 68928K kmalloc-128
> >
> > Why so many task_structs ? There's only 128 processes running, and most of them
> > are kernel threads.
> >
>
> Do you have CONFIG_OPROFILE enabled?
it's modular (though I should just turn it off, I never use it these days), but not loaded.
> > /sys/kernel/slab/task_struct/alloc_calls shows..
> >
> > 142421 copy_process.part.21+0xbb/0x1790 age=8/19929576/48173720 pid=0-16867 cpus=0-7
> >
> > I get the impression that the oom-killer hasn't cleaned up properly after killing some of
> > those forked processes.
> >
> > any thoughts ?
> >
>
> If we're leaking task_struct's, meaning that put_task_struct() isn't
> actually freeing them when the refcount goes to 0, then it's certainly not
> because of the oom killer which only sends a SIGKILL to the selected
> process.
>
> Have you tried kmemleak?
I'll give that a shot on Monday. thanks,
Dave
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Dave Jones <davej@redhat.com>
To: David Rientjes <rientjes@google.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>, linux-mm@kvack.org
Subject: Re: oomkillers gone wild.
Date: Fri, 8 Jun 2012 16:03:17 -0400 [thread overview]
Message-ID: <20120608200317.GA18693@redhat.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1206081256330.19054@chino.kir.corp.google.com>
On Fri, Jun 08, 2012 at 12:57:36PM -0700, David Rientjes wrote:
> On Tue, 5 Jun 2012, Dave Jones wrote:
>
> > OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
> > 142524 142420 99% 9.67K 47510 3 1520320K task_struct
> > 142560 142417 99% 1.75K 7920 18 253440K signal_cache
> > 142428 142302 99% 1.19K 5478 26 175296K task_xstate
> > 306064 289292 94% 0.36K 6956 44 111296K debug_objects_cache
> > 143488 143306 99% 0.50K 4484 32 71744K cred_jar
> > 142560 142421 99% 0.50K 4455 32 71280K task_delay_info
> > 150753 145021 96% 0.45K 4308 35 68928K kmalloc-128
> >
> > Why so many task_structs ? There's only 128 processes running, and most of them
> > are kernel threads.
> >
>
> Do you have CONFIG_OPROFILE enabled?
it's modular (though I should just turn it off, I never use it these days), but not loaded.
> > /sys/kernel/slab/task_struct/alloc_calls shows..
> >
> > 142421 copy_process.part.21+0xbb/0x1790 age=8/19929576/48173720 pid=0-16867 cpus=0-7
> >
> > I get the impression that the oom-killer hasn't cleaned up properly after killing some of
> > those forked processes.
> >
> > any thoughts ?
> >
>
> If we're leaking task_struct's, meaning that put_task_struct() isn't
> actually freeing them when the refcount goes to 0, then it's certainly not
> because of the oom killer which only sends a SIGKILL to the selected
> process.
>
> Have you tried kmemleak?
I'll give that a shot on Monday. thanks,
Dave
next prev parent reply other threads:[~2012-06-08 20:03 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-04 15:27 oomkillers gone wild Dave Jones
2012-06-04 15:27 ` Dave Jones
2012-06-04 23:30 ` David Rientjes
2012-06-04 23:30 ` David Rientjes
2012-06-05 17:44 ` Dave Jones
2012-06-05 17:44 ` Dave Jones
2012-06-05 18:52 ` Dave Jones
2012-06-05 18:52 ` Dave Jones
2012-06-08 19:57 ` David Rientjes
2012-06-08 19:57 ` David Rientjes
2012-06-08 20:03 ` Dave Jones [this message]
2012-06-08 20:03 ` Dave Jones
2012-06-08 20:37 ` Thomas Gleixner
2012-06-08 20:37 ` Thomas Gleixner
2012-06-10 2:15 ` David Rientjes
2012-06-10 2:15 ` David Rientjes
2012-06-08 20:15 ` David Rientjes
2012-06-08 20:15 ` David Rientjes
2012-06-08 21:03 ` Dave Jones
2012-06-08 21:03 ` Dave Jones
2012-06-10 2:21 ` David Rientjes
2012-06-10 2:21 ` David Rientjes
2012-06-10 3:21 ` KOSAKI Motohiro
2012-06-10 3:21 ` KOSAKI Motohiro
2012-06-10 20:10 ` Dave Jones
2012-06-10 20:10 ` Dave Jones
2012-06-10 23:52 ` David Rientjes
2012-06-10 23:52 ` David Rientjes
2012-06-11 0:46 ` Dave Jones
2012-06-11 0:46 ` Dave Jones
2012-06-11 9:11 ` [patch 3.5-rc2] mm, oom: fix and cleanup oom score calculations David Rientjes
2012-06-11 9:11 ` David Rientjes
2012-06-11 19:13 ` Dave Jones
2012-06-11 19:13 ` Dave Jones
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=20120608200317.GA18693@redhat.com \
--to=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--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.