Thread (36 messages) 36 messages, 6 authors, 2020-05-05

Re: [PATCH] memcg: oom: ignore oom warnings from memory.max

From: Michal Hocko <hidden>
Date: 2020-05-04 06:57:06
Also in: linux-mm, lkml

On Thu 30-04-20 13:20:10, Shakeel Butt wrote:
On Thu, Apr 30, 2020 at 12:29 PM Johannes Weiner [off-list ref] wrote:
quoted
On Thu, Apr 30, 2020 at 11:27:12AM -0700, Shakeel Butt wrote:
quoted
Lowering memory.max can trigger an oom-kill if the reclaim does not
succeed. However if oom-killer does not find a process for killing, it
dumps a lot of warnings.

Deleting a memcg does not reclaim memory from it and the memory can
linger till there is a memory pressure. One normal way to proactively
reclaim such memory is to set memory.max to 0 just before deleting the
memcg. However if some of the memcg's memory is pinned by others, this
operation can trigger an oom-kill without any process and thus can log a
lot un-needed warnings. So, ignore all such warnings from memory.max.
Can't you set memory.high=0 instead? It does the reclaim portion of
memory.max, without the actual OOM killing that causes you problems.
Yes that would work but remote charging concerns me. Remote charging
can still happen after the memcg is offlined and at the moment, high
reclaim does not work for remote memcg and the usage can go till max
or global pressure. This is most probably a misconfiguration and we
might not receive the warnings in the log ever. Setting memory.max to
0 will definitely give such warnings.
Can we add a warning for the remote charging on dead memcgs?

-- 
Michal Hocko
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help