From: Michal Hocko <mhocko@kernel.org> To: Minchan Kim <minchan@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@techsingularity.net>, Vlastimil Babka <vbabka@suse.cz>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Sangseok Lee <sangseok.lee@lge.com> Subject: Re: [PATCH 0/4] use up highorder free pages before OOM Date: Fri, 7 Oct 2016 11:16:26 +0200 [thread overview] Message-ID: <20161007091625.GB18447@dhcp22.suse.cz> (raw) In-Reply-To: <1475819136-24358-1-git-send-email-minchan@kernel.org> On Fri 07-10-16 14:45:32, Minchan Kim wrote: > I got OOM report from production team with v4.4 kernel. > It has enough free memory but failed to allocate order-0 page and > finally encounter OOM kill. > I could reproduce it with my test easily. Look at below. > The reason is free pages(19M) of DMA32 zone are reserved for > HIGHORDERATOMIC and doesn't unreserved before the OOM. Is this really reproducible? [...] > active_anon:383949 inactive_anon:106724 isolated_anon:0 > active_file:15 inactive_file:44 isolated_file:0 > unevictable:0 dirty:0 writeback:24 unstable:0 > slab_reclaimable:2483 slab_unreclaimable:3326 > mapped:0 shmem:0 pagetables:1906 bounce:0 > free:6898 free_pcp:291 free_cma:0 [...] > Free swap = 8kB > Total swap = 255996kB > 524158 pages RAM > 0 pages HighMem/MovableOnly > 12658 pages reserved > 0 pages cma reserved > 0 pages hwpoisoned >From the above you can see that you are pretty much out of memory. There is basically no pagecache to reclaim and your anon memory is not reclaimable either because the swap is basically full. It is true that the high atomic reserves consume 19MB which could be reused but this less than 1%, especially when you compare that to the amount of reserved memory. So while I do agree that potential issues - misaccounting and others you are addressing in the follow up patch - are good to fix but I believe that draining last 19M is not something that would reliably get you over the edge. Your workload (93% of memory sitting on anon LRU with swap full) simply doesn't fit into the amount of memory you have available. -- Michal Hocko SUSE Labs
WARNING: multiple messages have this Message-ID (diff)
From: Michal Hocko <mhocko@kernel.org> To: Minchan Kim <minchan@kernel.org> Cc: Andrew Morton <akpm@linux-foundation.org>, Mel Gorman <mgorman@techsingularity.net>, Vlastimil Babka <vbabka@suse.cz>, Joonsoo Kim <iamjoonsoo.kim@lge.com>, linux-kernel@vger.kernel.org, linux-mm@kvack.org, Sangseok Lee <sangseok.lee@lge.com> Subject: Re: [PATCH 0/4] use up highorder free pages before OOM Date: Fri, 7 Oct 2016 11:16:26 +0200 [thread overview] Message-ID: <20161007091625.GB18447@dhcp22.suse.cz> (raw) In-Reply-To: <1475819136-24358-1-git-send-email-minchan@kernel.org> On Fri 07-10-16 14:45:32, Minchan Kim wrote: > I got OOM report from production team with v4.4 kernel. > It has enough free memory but failed to allocate order-0 page and > finally encounter OOM kill. > I could reproduce it with my test easily. Look at below. > The reason is free pages(19M) of DMA32 zone are reserved for > HIGHORDERATOMIC and doesn't unreserved before the OOM. Is this really reproducible? [...] > active_anon:383949 inactive_anon:106724 isolated_anon:0 > active_file:15 inactive_file:44 isolated_file:0 > unevictable:0 dirty:0 writeback:24 unstable:0 > slab_reclaimable:2483 slab_unreclaimable:3326 > mapped:0 shmem:0 pagetables:1906 bounce:0 > free:6898 free_pcp:291 free_cma:0 [...] > Free swap = 8kB > Total swap = 255996kB > 524158 pages RAM > 0 pages HighMem/MovableOnly > 12658 pages reserved > 0 pages cma reserved > 0 pages hwpoisoned >From the above you can see that you are pretty much out of memory. There is basically no pagecache to reclaim and your anon memory is not reclaimable either because the swap is basically full. It is true that the high atomic reserves consume 19MB which could be reused but this less than 1%, especially when you compare that to the amount of reserved memory. So while I do agree that potential issues - misaccounting and others you are addressing in the follow up patch - are good to fix but I believe that draining last 19M is not something that would reliably get you over the edge. Your workload (93% of memory sitting on anon LRU with swap full) simply doesn't fit into the amount of memory you have available. -- Michal Hocko SUSE Labs -- 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:[~2016-10-07 9:16 UTC|newest] Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-10-07 5:45 [PATCH 0/4] use up highorder free pages before OOM Minchan Kim 2016-10-07 5:45 ` Minchan Kim 2016-10-07 5:45 ` [PATCH 1/4] mm: adjust reserved highatomic count Minchan Kim 2016-10-07 5:45 ` Minchan Kim 2016-10-07 12:30 ` Vlastimil Babka 2016-10-07 12:30 ` Vlastimil Babka 2016-10-07 14:29 ` Minchan Kim 2016-10-07 14:29 ` Minchan Kim 2016-10-10 6:57 ` Vlastimil Babka 2016-10-10 6:57 ` Vlastimil Babka 2016-10-11 4:19 ` Minchan Kim 2016-10-11 4:19 ` Minchan Kim 2016-10-11 9:40 ` Vlastimil Babka 2016-10-11 9:40 ` Vlastimil Babka 2016-10-12 5:36 ` Mel Gorman 2016-10-12 5:36 ` Mel Gorman 2016-10-07 5:45 ` [PATCH 2/4] mm: prevent double decrease of nr_reserved_highatomic Minchan Kim 2016-10-07 5:45 ` Minchan Kim 2016-10-07 12:44 ` Vlastimil Babka 2016-10-07 12:44 ` Vlastimil Babka 2016-10-07 14:30 ` Minchan Kim 2016-10-07 14:30 ` Minchan Kim 2016-10-12 5:36 ` Mel Gorman 2016-10-12 5:36 ` Mel Gorman 2016-10-07 5:45 ` [PATCH 3/4] mm: unreserve highatomic free pages fully before OOM Minchan Kim 2016-10-07 5:45 ` Minchan Kim 2016-10-07 9:09 ` Michal Hocko 2016-10-07 9:09 ` Michal Hocko 2016-10-07 14:43 ` Minchan Kim 2016-10-07 14:43 ` Minchan Kim 2016-10-10 7:41 ` Michal Hocko 2016-10-10 7:41 ` Michal Hocko 2016-10-11 5:01 ` Minchan Kim 2016-10-11 5:01 ` Minchan Kim 2016-10-11 6:50 ` Michal Hocko 2016-10-11 6:50 ` Michal Hocko 2016-10-11 7:09 ` Minchan Kim 2016-10-11 7:09 ` Minchan Kim 2016-10-11 7:26 ` Michal Hocko 2016-10-11 7:26 ` Michal Hocko 2016-10-11 7:37 ` Minchan Kim 2016-10-11 7:37 ` Minchan Kim 2016-10-11 8:01 ` Michal Hocko 2016-10-11 8:01 ` Michal Hocko 2016-10-07 5:45 ` [PATCH 4/4] mm: skip to reserve pageblock crossed zone boundary for HIGHATOMIC Minchan Kim 2016-10-07 5:45 ` Minchan Kim 2016-10-07 9:16 ` Michal Hocko [this message] 2016-10-07 9:16 ` [PATCH 0/4] use up highorder free pages before OOM Michal Hocko 2016-10-07 15:04 ` Minchan Kim 2016-10-07 15:04 ` Minchan Kim 2016-10-10 7:47 ` Michal Hocko 2016-10-10 7:47 ` Michal Hocko 2016-10-11 5:06 ` Minchan Kim 2016-10-11 5:06 ` Minchan Kim 2016-10-11 6:53 ` Michal Hocko 2016-10-11 6:53 ` Michal Hocko
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=20161007091625.GB18447@dhcp22.suse.cz \ --to=mhocko@kernel.org \ --cc=akpm@linux-foundation.org \ --cc=iamjoonsoo.kim@lge.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=mgorman@techsingularity.net \ --cc=minchan@kernel.org \ --cc=sangseok.lee@lge.com \ --cc=vbabka@suse.cz \ /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: linkBe 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.