From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Heiko Carstens <heiko.carstens@de.ibm.com>,
linux-fsdevel@vger.kernel.org
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-mm@kvack.org, Mel Gorman <mel@csn.ul.ie>,
Nick Piggin <npiggin@suse.de>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
Andreas Krebbel <krebbel@linux.vnet.ibm.com>
Subject: Re: oom-killer killing even if memory is available?
Date: Tue, 17 Mar 2009 21:49:35 +1100 [thread overview]
Message-ID: <200903172149.36136.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <20090317112842.3b8e7724@osiris.boeblingen.de.ibm.com>
On Tuesday 17 March 2009 21:28:42 Heiko Carstens wrote:
> On Tue, 17 Mar 2009 11:17:38 +0100
>
> Heiko Carstens <heiko.carstens@de.ibm.com> wrote:
> > On Tue, 17 Mar 2009 02:46:05 -0700
> >
> > Andrew Morton <akpm@linux-foundation.org> wrote:
> > > > Mar 16 21:40:40 t6360003 kernel: Active_anon:372 active_file:45
> > > > inactive_anon:154 Mar 16 21:40:40 t6360003 kernel: inactive_file:152
> > > > unevictable:987 dirty:0 writeback:188 unstable:0 Mar 16 21:40:40
> > > > t6360003 kernel: free:146348 slab:875833 mapped:805 pagetables:378
> > > > bounce:0 Mar 16 21:40:40 t6360003 kernel: DMA free:467728kB
> > > > min:4064kB low:5080kB high:6096kB active_anon:0kB inactive_anon:0kB
> > > > active_file:0kB inactive_file:116kB unevictable:0kB present:2068480kB
> > > > pages_scanned:0 all_unreclaimable? no Mar 16 21:40:40 t6360003
> > > > kernel: lowmem_reserve[]: 0 2020 2020 Mar 16 21:40:40 t6360003
> > > > kernel: Normal free:117664kB min:4064kB low:5080kB high:6096kB
> > > > active_anon:1488kB inactive_anon:616kB active_file:188kB
> > > > inactive_file:492kB unevictable:3948kB present:2068480kB
> > > > pages_scanned:128 all_unreclaimable? no Mar 16 21:40:40 t6360003
> > > > kernel: lowmem_reserve[]: 0 0 0
> > >
> > > The scanner has wrung pretty much all it can out of the reclaimable
> > > pages - the LRUs are nearly empty. There's a few hundred MB free and
> > > apparently we don't have four physically contiguous free pages
> > > anywhere. It's believeable.
> > >
> > > The question is: where the heck did all your memory go? You have 2GB
> > > of ZONE_NORMAL memory in that machine, but only a tenth of it is
> > > visible to the page reclaim code.
> > >
> > > Something must have allocated (and possibly leaked) it.
> >
> > Looks like most of the memory went for dentries and inodes.
> > slabtop output:
> >
> > Active / Total Objects (% used) : 8172165 / 8326954 (98.1%)
> > Active / Total Slabs (% used) : 903692 / 903698 (100.0%)
> > Active / Total Caches (% used) : 91 / 144 (63.2%)
> > Active / Total Size (% used) : 3251262.44K / 3281384.22K (99.1%)
> > Minimum / Average / Maximum Object : 0.02K / 0.39K / 1024.00K
> >
> > OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
> > 3960036 3960017 99% 0.59K 660006 6 2640024K inode_cache
> > 4137155 3997581 96% 0.20K 217745 19 870980K dentry
> > 69776 69744 99% 0.80K 17444 4 69776K ext3_inode_cache
> > 96792 92892 95% 0.10K 2616 37 10464K buffer_head
> > 10024 9895 98% 0.54K 1432 7 5728K radix_tree_node
> > 1093 1087 99% 4.00K 1093 1 4372K size-4096
> > 14805 14711 99% 0.25K 987 15 3948K size-256
> > 2400 2381 99% 0.80K 480 5 1920K shmem_inode_cache
>
> FWIW, after "echo 3 > /proc/sys/vm/drop_caches" it looks like this:
>
> Active / Total Objects (% used) : 7965003 / 8153578 (97.7%)
> Active / Total Slabs (% used) : 882511 / 882511 (100.0%)
> Active / Total Caches (% used) : 90 / 144 (62.5%)
> Active / Total Size (% used) : 3173487.59K / 3211091.64K (98.8%)
> Minimum / Average / Maximum Object : 0.02K / 0.39K / 1024.00K
>
> OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME
> 3960036 3960007 99% 0.59K 660006 6 2640024K inode_cache
> 4137155 3962636 95% 0.20K 217745 19 870980K dentry
> 1097 1097 100% 4.00K 1097 1 4388K size-4096
> 14805 14667 99% 0.25K 987 15 3948K size-256
> 2400 2381 99% 0.80K 480 5 1920K shmem_inode_cache
> 1404 1404 100% 1.00K 351 4 1404K size-1024
> 152 152 100% 5.59K 152 1 1216K task_struct
> 1302 347 26% 0.54K 186 7 744K radix_tree_node
> 370 359 97% 2.00K 185 2 740K size-2048
> 9381 4316 46% 0.06K 159 59 636K size-64
> 8 8 100% 64.00K 8 1 512K size-65536
>
> So, are we leaking dentries and inodes?
Yes, probably leaking dentries, which pin inodes. I don't know that slab
leak debugging is going to help you because it won't find what is holding
the refcount.
Cc linux-fsdevel. Which kernel this is? Config as well.
--
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>
next prev parent reply other threads:[~2009-03-17 10:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-17 9:00 oom-killer killing even if memory is available? Heiko Carstens
2009-03-17 9:46 ` Andrew Morton
2009-03-17 10:17 ` Heiko Carstens
2009-03-17 10:28 ` Heiko Carstens
2009-03-17 10:49 ` Nick Piggin [this message]
2009-03-17 11:39 ` Heiko Carstens
2009-03-20 5:08 ` Wu Fengguang
2009-03-20 15:27 ` Mel Gorman
2009-03-20 21:02 ` Andrew Morton
2009-03-23 11:55 ` Mel Gorman
2009-03-23 14:58 ` Mel Gorman
2009-03-17 9:51 ` Nick Piggin
2009-03-17 10:11 ` Heiko Carstens
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=200903172149.36136.nickpiggin@yahoo.com.au \
--to=nickpiggin@yahoo.com.au \
--cc=akpm@linux-foundation.org \
--cc=heiko.carstens@de.ibm.com \
--cc=krebbel@linux.vnet.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mel@csn.ul.ie \
--cc=npiggin@suse.de \
--cc=schwidefsky@de.ibm.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.