From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by kanga.kvack.org (Postfix) with ESMTP id 747C36B0006 for ; Wed, 18 Jul 2018 14:13:26 -0400 (EDT) Received: by mail-wr1-f69.google.com with SMTP id k15-v6so2318975wrq.1 for ; Wed, 18 Jul 2018 11:13:26 -0700 (PDT) Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id y8-v6sor1981205wro.2.2018.07.18.11.13.25 for (Google Transport Security); Wed, 18 Jul 2018 11:13:25 -0700 (PDT) MIME-Version: 1.0 References: <20180717212307.d6803a3b0bbfeb32479c1e26@linux-foundation.org> <20180718104230.GC1431@dhcp22.suse.cz> In-Reply-To: From: Shakeel Butt Date: Wed, 18 Jul 2018 11:13:12 -0700 Message-ID: Subject: Re: Showing /sys/fs/cgroup/memory/memory.stat very slow on some machines Content-Type: text/plain; charset="UTF-8" Sender: owner-linux-mm@kvack.org List-ID: To: bmerry@ska.ac.za Cc: Michal Hocko , Andrew Morton , LKML , Linux MM , Johannes Weiner , Vladimir Davydov On Wed, Jul 18, 2018 at 10:58 AM Bruce Merry wrote: > > On 18 July 2018 at 19:48, Shakeel Butt wrote: > > On Wed, Jul 18, 2018 at 10:40 AM Bruce Merry wrote: > >> > Yes, very easy to produce zombies, though I don't think kernel > >> > provides any way to tell how many zombies exist on the system. > >> > > >> > To create a zombie, first create a memcg node, enter that memcg, > >> > create a tmpfs file of few KiBs, exit the memcg and rmdir the memcg. > >> > That memcg will be a zombie until you delete that tmpfs file. > >> > >> Thanks, that makes sense. I'll see if I can reproduce the issue. Do > >> you expect the same thing to happen with normal (non-tmpfs) files that > >> are sitting in the page cache, and/or dentries? > >> > > > > Normal files and their dentries can get reclaimed while tmpfs will > > stick and even if the data of tmpfs goes to swap, the kmem related to > > tmpfs files will remain in memory. > > Sure, page cache and dentries are reclaimable given memory pressure. > These machines all have more memory than they need though (64GB+) and > generally don't come under any memory pressure. I'm just wondering if > the behaviour we're seeing can be explained as a result of a lot of > dentries sticking around (because there is no memory pressure) and in > turn causing a lot of zombie cgroups to stay present until something > forces reclamation of dentries. > Yes, if there is no memory pressure such memory can stay around. On your production machine, before deleting memory containers, you can try force_empty to reclaim such memory from them. See if that helps. Shakeel