From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6D83FC2BA2B for ; Thu, 9 Apr 2020 11:58:57 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id DBF9C20A8B for ; Thu, 9 Apr 2020 11:58:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DBF9C20A8B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linux-vserver.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 6267B8E000E; Thu, 9 Apr 2020 07:58:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5D8608E0006; Thu, 9 Apr 2020 07:58:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 49E968E000E; Thu, 9 Apr 2020 07:58:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0115.hostedemail.com [216.40.44.115]) by kanga.kvack.org (Postfix) with ESMTP id 372338E0006 for ; Thu, 9 Apr 2020 07:58:56 -0400 (EDT) Received: from smtpin06.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id F401C181AEF3E for ; Thu, 9 Apr 2020 11:58:55 +0000 (UTC) X-FDA: 76688170272.06.lead61_4ddab8a927c14 X-HE-Tag: lead61_4ddab8a927c14 X-Filterd-Recvd-Size: 49096 Received: from smtprelay.restena.lu (smtprelay.restena.lu [158.64.1.62]) by imf41.hostedemail.com (Postfix) with ESMTP for ; Thu, 9 Apr 2020 11:58:54 +0000 (UTC) Received: from hemera.lan.sysophe.eu (unknown [IPv6:2001:a18:1:12::4]) by smtprelay.restena.lu (Postfix) with ESMTPS id 05A4740FB0; Thu, 9 Apr 2020 13:58:50 +0200 (CEST) Date: Thu, 9 Apr 2020 13:58:49 +0200 From: Bruno =?UTF-8?B?UHLDqW1vbnQ=?= To: Chris Down Cc: cgroups@vger.kernel.org, linux-mm@kvack.org, Johannes Weiner , Michal Hocko , Vladimir Davydov Subject: Re: Memory CG and 5.1 to 5.6 uprade slows backup Message-ID: <20200409135849.72d70340@hemera.lan.sysophe.eu> In-Reply-To: <20200409105048.GA1040020@chrisdown.name> References: <20200409112505.2e1fc150@hemera.lan.sysophe.eu> <20200409105048.GA1040020@chrisdown.name> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="MP_/PE_qy2zpXDYyj1+2Ofcdsy5" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --MP_/PE_qy2zpXDYyj1+2Ofcdsy5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi Chris, Answering here (partially to cover Michal's questions further down the thread as well. On Thu, 9 Apr 2020 11:50:48 Chris Down wrote: > Hi Bruno, >=20 > Bruno Pr=C3=A9mont writes: > >Upgrading from 5.1 kernel to 5.6 kernel on a production system using > >cgroups (v2) and having backup process in a memory.high=3D2G cgroup > >sees backup being highly throttled (there are about 1.5T to be > >backuped). =20 >=20 > Before 5.4, memory usage with memory.high=3DN is essentially unbounded if= the=20 > system is not able to reclaim pages for some reason. This is because all= =20 > memory.high throttling before that point is just based on forcing direct= =20 > reclaim for a cgroup, but there's no guarantee that we can actually recla= im=20 > pages, or that it will serve as a time penalty. >=20 > In 5.4, my patch 0e4b01df8659 ("mm, memcg: throttle allocators when faili= ng=20 > reclaim over memory.high") changes kernel behaviour to actively penalise= =20 > cgroups exceeding their memory.high by a large amount. That is, if reclai= m=20 > fails to reclaim pages and bring the cgroup below the high threshold, we= =20 > actively deschedule the process running for some number of jiffies that i= s=20 > exponential to the amount of overage incurred. This is so that cgroups us= ing=20 > memory.high cannot simply have runaway memory usage without any consequen= ces. Thanks for the background-information! > This is the patch that I'd particularly suspect is related to your proble= m.=20 > However: >=20 > >Most memory usage in that cgroup is for file cache. > > > >Here are the memory details for the cgroup: > >memory.current:2147225600 > >[...] > >memory.events:high 423774 > >memory.events:max 31131 > >memory.high:2147483648 > >memory.max:2415919104 =20 >=20 > Your high limit is being exceeded heavily and you are failing to reclaim.= You=20 > have `max` events here, which mean your application is at least at some p= oint=20 > using over 268 *mega*bytes over its memory.high. >=20 > So yes, we will penalise this cgroup heavily since we cannot reclaim from= it.=20 > The real question is why we can't reclaim from it :-) That's the great question! > >memory.low:33554432 =20 >=20 > You have a memory.low set, which will bias reclaim away from this cgroup = based=20 > on overage. It's not very large, though, so it shouldn't change the seman= tics=20 > here, although it's worth noting since it also changed in another one of = my=20 > patches, 9783aa9917f8 ("mm, memcg: proportional memory.{low,min} reclaim"= ),=20 > which is also in 5.4. >=20 > In 5.1, as soon as you exceed memory.low, you immediately lose all protec= tion. =20 > This is not ideal because it results in extremely binary, back-and-forth= =20 > behaviour for cgroups using it (see the changelog for more information). = This=20 > change means you will still receive some small amount of protection based= on=20 > your overage, but it's fairly insignificant in this case (memory.current = is=20 > about 64x larger than memory.low). What did you intend to do with this in= 5.1?=20 > :-) Well my intent was that it should have access to this low amount to perform its work (e.g. for anonymous memory and active file [code and minimal payload]) when rest of system is using its allowed but not granted memory resources up to global system limits. So feels like your patch made this promise better enforced. > >memory.stat:anon 10887168 > >memory.stat:file 2062102528 > >memory.stat:kernel_stack 73728 > >memory.stat:slab 76148736 > >memory.stat:sock 360448 > >memory.stat:shmem 0 > >memory.stat:file_mapped 12029952 > >memory.stat:file_dirty 946176 > >memory.stat:file_writeback 405504 > >memory.stat:anon_thp 0 > >memory.stat:inactive_anon 0 > >memory.stat:active_anon 10121216 > >memory.stat:inactive_file 1954959360 > >memory.stat:active_file 106418176 > >memory.stat:unevictable 0 > >memory.stat:slab_reclaimable 75247616 > >memory.stat:slab_unreclaimable 901120 > >memory.stat:pgfault 8651676 > >memory.stat:pgmajfault 2013 > >memory.stat:workingset_refault 8670651 > >memory.stat:workingset_activate 409200 > >memory.stat:workingset_nodereclaim 62040 > >memory.stat:pgrefill 1513537 > >memory.stat:pgscan 47519855 > >memory.stat:pgsteal 44933838 > >memory.stat:pgactivate 7986 > >memory.stat:pgdeactivate 1480623 > >memory.stat:pglazyfree 0 > >memory.stat:pglazyfreed 0 > >memory.stat:thp_fault_alloc 0 > >memory.stat:thp_collapse_alloc 0 =20 >=20 > Hard to say exactly why we can't reclaim using these statistics, usually = if=20 > anything the kernel is *over* eager to drop cache pages than anything. >=20 > If the kernel thinks those file pages are too hot, though, it won't drop = them.=20 > However, we only have 106M active file, compared to 2GB memory.current, s= o it=20 > doesn't look like this is the issue. >=20 > Can you please show io.pressure, io.stat, and cpu.pressure during these p= eriods=20 > compared to baseline for this cgroup and globally (from /proc/pressure)? = My=20 > suspicion is that we are not able to reclaim fast enough because memory=20 > management is getting stuck behind a slow disk. Disk should not be too slow at writing (SAN for most of the data, local, battery-backed RAID for logs) System's IO pressure is low (below 1 except for some random peaks going to 20) System's CPU pressure is similar (spikes happen at unrelated times) System's Memory pressure though most often is high. Prior to kernel update is was mostly in 5-10 (short-term value with periods of spiking around 20), while long-term value remained below 5. Since kernel upgrade things changed quite a lot: Sometimes memory pressure is low but it's mostly ranging between 40 and 80. I guess attached PNG will give you a better idea than any textual explanation. (reboot for kernel upgrade happened during night from Friday to Saturday about midnight). Digging some deeper in the (highly affected) cg hierarchy: CGv2: + workload | | .... + system | base (has init, ntp and the like system daemons) | shell (has tty gettys, ssh and the like) | backup (has backup processes only) system/: memory.current:8589053952 memory.high:8589934592 memory.low:134217728 memory.max:9663676416 memory.events:low 0 memory.events:high 441886 memory.events:max 31131 memory.events:oom 0 memory.events:oom_kill 0 memory.stat:file 8346779648 memory.stat:file_mapped 105971712 memory.stat:file_dirty 2838528 memory.stat:file_writeback 1486848 memory.stat:inactive_file 6600683520 memory.stat:active_file 1067331584 system/base: memory.current:7789477888 memory.high:max memory.low:0 memory.max:max memory.events:low 0 memory.events:high 0 memory.events:max 0 memory.events:oom 0 memory.events:oom_kill 0 memory.stat:file 7586832384 memory.stat:file_mapped 92995584 memory.stat:file_dirty 1351680 memory.stat:file_writeback 1081344 memory.stat:inactive_file 6592962560 memory.stat:active_file 946053120 system/shell: memory.current:638394368 memory.high:max memory.low:0 memory.max:max memory.events:low 0 memory.events:high 0 memory.events:max 0 memory.events:oom 0 memory.events:oom_kill 0 memory.stat:file 637349888 memory.stat:file_mapped 2568192 memory.stat:file_dirty 405504 memory.stat:file_writeback 0 memory.stat:inactive_file 3645440 memory.stat:active_file 6991872 system/backup: memory.current:160874496 memory.high:2147483648 memory.low:33554432 memory.max:2415919104 memory.events:low 0 memory.events:high 425240 memory.events:max 31131 memory.events:oom 0 memory.events:oom_kill 0 memory.stat:file 122687488 memory.stat:file_mapped 10678272 memory.stat:file_dirty 675840 memory.stat:file_writeback 405504 memory.stat:inactive_file 10416128 memory.stat:active_file 110329856 For tasks being throttled /proc/$pid/stack shows [<0>] mem_cgroup_handle_over_high+0x121/0x170 [<0>] exit_to_usermode_loop+0x67/0xa0 [<0>] do_syscall_64+0x149/0x170 [<0>] entry_SYSCALL_64_after_hwframe+0x44/0xa9 It even hits my shell running over ssh. Turns out that for now (as backup processes had been restarted and run mostly smoothly at the moment) now the throttling happens caused by parent system/ cgroup which reached high with tons of inactive file cache. Note: under workload there is a task running through whole SAN disk file try counting file sizes at hourly interval, thus keeping most inodes at least partially active Major workload is a webserver (serving static files and running PHP based CMSs) > Swap availability and usage information would also be helpful. There is no swap. > >Regularly the backup process seems to be blocked for about 2s, but not > >within a syscall according to strace. =20 >=20 > 2 seconds is important, it's the maximum time we allow the allocator thro= ttler=20 > to throttle for one allocation :-) >=20 > If you want to verify, you can look at /proc/pid/stack during these stall= s --=20 > they should be in mem_cgroup_handle_over_high, in an address related to=20 > allocator throttling. Yes, I've seen that (see above). > >Is there a way to tell kernel that this cgroup should not be throttled = =20 >=20 > Huh? That's what memory.high is for, so why are you using if it you don't= want=20 > that? Well, remainder of sentence is the important part. The cgroup is expected to have short-lived cache usage and thus caches should not be a reason for throttling. > >and its inactive file cache given up (rather quickly). =20 >=20 > I suspect the kernel is reclaiming as far as it can, but is being stopped= from=20 > doing so for some reason, which is why I'd like to see io.pressure and=20 > cpu.pressure. io.pressure:some avg10=3D0.17 avg60=3D0.35 avg300=3D0.37 total=3D64799040= 94 io.pressure:full avg10=3D0.16 avg60=3D0.32 avg300=3D0.33 total=3D63639396= 15 backup/io.pressure:some avg10=3D0.00 avg60=3D0.00 avg300=3D0.00 total=3D3= 600665286 backup/io.pressure:full avg10=3D0.00 avg60=3D0.00 avg300=3D0.00 total=3D3= 580320436 base/io.pressure:some avg10=3D0.26 avg60=3D0.40 avg300=3D0.38 total=3D458= 4357682 base/io.pressure:full avg10=3D0.25 avg60=3D0.37 avg300=3D0.35 total=3D451= 2115687 shell/io.pressure:some avg10=3D0.00 avg60=3D0.00 avg300=3D0.00 total=3D73= 37275 shell/io.pressure:full avg10=3D0.00 avg60=3D0.00 avg300=3D0.00 total=3D73= 29137 That's low I would say. > >On a side note, I liked v1's mode of soft/hard memory limit where the > >memory amount between soft and hard could be used if system has enough > >free memory. For v2 the difference between high and max seems almost of > >no use. =20 >=20 > For that use case, that's more or less what we've designed memory.low to = do.=20 > The difference is that v1's soft limit almost never worked: the heuristic= s are=20 > extremely complicated, so complicated in fact that even we as memcg maint= ainers=20 > cannot reason about them. If we cannot reason about them, I'm quite sure = it's=20 > not really doing what you expect :-) Well, memory.low is great for workload, but not really for backup which sho= uld not "pollute" system's file cache (about same issue as logs which are almost write-only but still tend to fill file cache throwing out). > In this case everything looks like it's working as intended, just this is= all=20 > the result of memory.high becoming less broken in 5.4. From your descript= ion,=20 > I'm not sure that memory.high is what you want, either. >=20 > >A cgroup parameter for impacting RO file cache differently than > >anonymous memory or otherwise dirty memory would be great too. =20 >=20 > We had vm.swappiness in v1 and it manifested extremely poorly. I won't go= too=20 > much into the details of that here though, since we already discussed it = fairly=20 > comprehensively here[0]. >=20 > Please feel free to send over the io.pressure, io.stat, cpu.pressure, and= swap=20 > metrics at baseline and during this when possible. Thanks! Current system-wide pressure metrics: /proc/pressure/cpu:some avg10=3D0.05 avg60=3D0.08 avg300=3D0.07 total=3D965= 407160 /proc/pressure/io:some avg10=3D0.00 avg60=3D0.02 avg300=3D0.04 total=3D5674= 971954 /proc/pressure/io:full avg10=3D0.00 avg60=3D0.02 avg300=3D0.04 total=3D5492= 982327 /proc/pressure/memory:some avg10=3D33.21 avg60=3D21.28 avg300=3D21.06 total= =3D166513106563 /proc/pressure/memory:full avg10=3D32.09 avg60=3D20.23 avg300=3D20.13 total= =3D158792995733 In the end the big question is why do the large amounts of inactive file ca= ches survive reclaim and thus cause cgroups to get starved. > 0: https://lore.kernel.org/patchwork/patch/1172080/ Thanks, Bruno --MP_/PE_qy2zpXDYyj1+2Ofcdsy5 Content-Type: image/png Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=MemoryPressure_.png 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 TU1NTU1NdXV1VlYWu83QoUOlnra3QVrV1+joaF+LkCFFARFABIiohAgoCogAkX4nok5deU5k7I03 /u7DD6c/8oi3FmAhf6mDVVJSsm7dOpIkN2zYkJ/PsVPE+vXr//znP0s65+WOjuDhw3162YEhAogA Ef+VAooCIkAEiCgPv3lFKAYnTpxISkpCAAAAAAAAACpwsAJks+d+8a5wXA16EkA2urq6Jk2aBHoA KInp06efP3/erynA3Avwi4k3CHTNxoQJE7RX8eqrr/I1s1gszz33nJqJPPfccwkJCampqTt27PBf c8yfP19Lw+zZs4GIv3StcePGqZbCk08+mZiY2Nvb29vbm5iY+Pjjj/upLeLj47u7u/Hvly9fjo+P h7kX5l6Yr9RAJEC2yvE66uvrY2Nj/ZrCoUOHPvjgg6+++io4OHjTpk2LFy/2UyKffvopQqiwsLC7 u/uZZ57xX4uwiQhv8QRdy9fIzMz86KOPSJL06zjiddddd/r0aezLnj59WkZRcph7YYDAxOsLQARL FCoqKm6//fZbbrnFYDAsW7YMIZSbm6vVatUcph40aNDw4cOjoqJiYmJeeOEFdG1cdP78+adOnerq 6srMzPz9738fHR29du1afzEHmwhC6O23305JSRk9evTq1av9qGuRJEnXPyc19XcthFB0dLRWq01K SnrttdcQQsXFxVqt9scff8RPjep0JRctWlRaWrpjx45FixbhIy+++GJCQkJ8fPzGjRuxOdQ/QBIT E0+dOvXggw8+9NBDp06dSkxM5BwOTz/9dExMjMViuXz5Msy9MPfCxKvAxAsOFjdSU1PxjYFS9JEj RzZs2GCz2d566y2EUFlZ2TvvvKNmChkZGStXrnz00Ud///vfl5TwFrU/derUQw89VFtbu337dj8N qCCEamtr33zzzY8//vj48eMnT57cu3evv1y5P+qfs2udP3/e5XLt37//rbfeunDhQn5+vsvlioqK crlcLpeLsVuoSjB06NBRo0aNGjVqyJAhCKHvv/9+y5YtX3311f79+99///36+nq/MFBSUlJra+v5 8+c7Ojqwg8UeDpWVlV9++WVNTc2aNWsaGxth7oW5FyZeBZQPrwi5wQ5TT58+ffLkyf7F4rbbbrvt ttsuX758xx13JCQkpKSkUP+inmJNJtOUKVMQQvHx8R0dHeq8ETKg0WgYROrq6urr61NTU/HBnJyc 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 --MP_/PE_qy2zpXDYyj1+2Ofcdsy5--