Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756296AbcK2XBq (ORCPT ); Tue, 29 Nov 2016 18:01:46 -0500 Received: from magic.merlins.org ([209.81.13.136]:54418 "EHLO mail1.merlins.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756214AbcK2XBj (ORCPT ); Tue, 29 Nov 2016 18:01:39 -0500 Date: Tue, 29 Nov 2016 15:01:35 -0800 From: Marc MERLIN To: Linus Torvalds Cc: Michal Hocko , Vlastimil Babka , linux-mm , LKML , Joonsoo Kim , Tejun Heo , Greg Kroah-Hartman Subject: Re: 4.8.8 kernel trigger OOM killer repeatedly when I have lots of RAM that should be free Message-ID: <20161129230135.GM7179@merlins.org> References: <20161122160629.uzt2u6m75ash4ved@merlins.org> <48061a22-0203-de54-5a44-89773bff1e63@suse.cz> <20161123063410.GB2864@dhcp22.suse.cz> <20161128072315.GC14788@dhcp22.suse.cz> <20161129155537.f6qgnfmnoljwnx6j@merlins.org> <20161129160751.GC9796@dhcp22.suse.cz> <20161129163406.treuewaqgt4fy4kh@merlins.org> <20161129174019.fywddwo5h4pyix7r@merlins.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20161129174019.fywddwo5h4pyix7r@merlins.org> X-Sysadmin: BOFH X-URL: http://marc.merlins.org/ User-Agent: Mutt/1.5.13 (2006-08-11) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: marc@merlins.org Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2905 Lines: 68 On Tue, Nov 29, 2016 at 09:40:19AM -0800, Marc MERLIN wrote: > Thanks for the reply and suggestions. > > On Tue, Nov 29, 2016 at 09:07:03AM -0800, Linus Torvalds wrote: > > On Tue, Nov 29, 2016 at 8:34 AM, Marc MERLIN wrote: > > > Now, to be fair, this is not a new problem, it's just varying degrees of > > > bad and usually only happens when I do a lot of I/O with btrfs. > > > > One situation where I've seen something like this happen is > > > > (a) lots and lots of dirty data queued up > > (b) horribly slow storage > > In my case, it is a 5x 4TB HDD with > software raid 5 < bcache < dmcrypt < btrfs > bcache is currently half disabled (as in I removed the actual cache) or > too many bcache requests pile up, and the kernel dies when too many > workqueues have piled up. > I'm just kind of worried that since I'm going through 4 subsystems > before my data can hit disk, that's a lot of memory allocations and > places where data can accumulate and cause bottlenecks if the next > subsystem isn't as fast. > > But this shouldn't be "horribly slow", should it? (it does copy a few > terabytes per day, not fast, but not horrible, about 30MB/s or so) > > > Sadly, our defaults for "how much dirty data do we allow" are somewhat > > buggered. The global defaults are in "percent of memory", and are > > generally _much_ too high for big-memory machines: > > > > [torvalds@i7 linux]$ cat /proc/sys/vm/dirty_ratio > > 20 > > [torvalds@i7 linux]$ cat /proc/sys/vm/dirty_background_ratio > > 10 > > I can confirm I have the same. > > > says that it only starts really throttling writes when you hit 20% of > > all memory used. You don't say how much memory you have in that > > machine, but if it's the same one you talked about earlier, it was > > 24GB. So you can have 4GB of dirty data waiting to be flushed out. > > Correct, 24GB and 4GB. > > > And we *try* to do this per-device backing-dev congestion thing to > > make things work better, but it generally seems to not work very well. > > Possibly because of inconsistent write speeds (ie _sometimes_ the SSD > > does really well, and we want to open up, and then it shuts down). > > > > One thing you can try is to just make the global limits much lower. As in > > > > echo 2 > /proc/sys/vm/dirty_ratio > > echo 1 > /proc/sys/vm/dirty_background_ratio > > I will give that a shot, thank you. And, after 5H of copying, not a single hang, or USB disconnect, or anything. Obviously this seems to point to other problems in the code, and I have no idea which layer is a culprit here, but reducing the buffers absolutely helped a lot. Thanks much, Marc -- "A mouse is a device used to point at the xterm you want to type in" - A.S.R. Microsoft is to operating systems .... .... what McDonalds is to gourmet cooking Home page: http://marc.merlins.org/