linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Konstantin Kharlamov <Hi-Angel@yandex.ru>
To: Nhat Pham <nphamcs@gmail.com>
Cc: Yosry Ahmed <yosryahmed@google.com>,
	linux-mm@kvack.org, Johannes Weiner <hannes@cmpxchg.org>,
	Chengming Zhou <chengming.zhou@linux.dev>
Subject: Re: [BUG] ZSwap leaks memory upon being disabled
Date: Sun, 27 Oct 2024 13:25:11 +0300	[thread overview]
Message-ID: <c8d2529e62f689ef76a14b34f462fa878cea872f.camel@yandex.ru> (raw)
In-Reply-To: <CAKEwX=Ogwwx-X1KfoXN5gQtKEbHzA8P63UQxdVdx+0LeuMDTZQ@mail.gmail.com>

On Sat, 2024-10-26 at 20:14 -0700, Nhat Pham wrote:
> On Sat, Oct 26, 2024 at 5:29 PM Konstantin Kharlamov
> <Hi-Angel@yandex.ru> wrote:
> > 
> > That was a good idea! The
> > `/sys/fs/cgroup/system.slice/memory.swap.current` seems to have the
> > missing half of the SWAP memory. From my understanding of the
> > `systemctl status` graph `sytem.slice` and `user.slice` groups do
> > not
> > intersect, and by adding up `system.slice/…` + `user.slice/…` I get
> > around 8G.
> > 
> > However, I'm still unclear what does this memory belong to.
> > `system.slice/memory.swap.current` is 4.4G currently, that's a lot
> > and
> > I'm not seeing anything that could take so much memory.
> 
> I assume you do not have any proactive memory reclaimer? :) 

No, just the kernel with `vm.swappiness = 100` and with ZSWAP (ZSWAP is
on on Archlinux nowadays via CONFIG_ZSWAP_DEFAULT_ON).

> I believe
> the top utility can display swap usage by process. Have you tried
> that?

I just tried. Well, the data seems the same as what `smem` shows,
except I can't add up the column numbers because top is interactive 😊
I noticed plasmashell was too bloated, so restarted it. Didn't solve
the problem with some unknown memory taking gigabytes in SWAP though.

> There are a couple of edge cases - for instance, if you disable zswap
> writeback and zswap at the same time. We will allocate slots on
> swapfile, and store it at the page table entry, but we cannot store
> the page's content in zswap or the swapfile, so the page remains in
> memory. You're occupying swap space, but are not really saving any
> memory usage.

I never disabled zswap writeback and as of writing the words zswap is
on, so this certainly not it.

> IIRC, there is also an edge case where a page is faulted back into
> memory from swap, but the associated swap space cannot be immediately
> released. This should be temporary though - memory reclaimer will
> attempt to release these pages later on, or they can be released when
> we scan the swapfile for slots during swap out.

Replied in a separate email.


      parent reply	other threads:[~2024-10-27 10:25 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-24 13:02 Konstantin Kharlamov
2024-10-24 20:47 ` Yosry Ahmed
2024-10-25  6:41   ` Konstantin Kharlamov
2024-10-25  7:50     ` Yosry Ahmed
2024-10-26 11:33       ` Konstantin Kharlamov
2024-10-26 17:47         ` Yosry Ahmed
2024-10-27  0:29           ` Konstantin Kharlamov
2024-10-27  3:14             ` Nhat Pham
2024-10-27  6:46               ` Yosry Ahmed
2024-10-27 10:11                 ` Konstantin Kharlamov
2024-10-27 10:32                   ` Konstantin Kharlamov
2024-10-27 11:28                     ` Konstantin Kharlamov
2024-10-27 19:31                       ` Yosry Ahmed
2024-10-27 22:13                         ` phantom memory in a cgroup (was [BUG] ZSwap leaks memory upon being disabled) Konstantin Kharlamov
2024-10-30 14:41                           ` Konstantin Kharlamov
2024-10-30 19:44                             ` Yosry Ahmed
2024-10-31 21:59                               ` Konstantin Kharlamov
2024-10-31 22:04                                 ` Yosry Ahmed
2024-10-27 10:25               ` Konstantin Kharlamov [this message]

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=c8d2529e62f689ef76a14b34f462fa878cea872f.camel@yandex.ru \
    --to=hi-angel@yandex.ru \
    --cc=chengming.zhou@linux.dev \
    --cc=hannes@cmpxchg.org \
    --cc=linux-mm@kvack.org \
    --cc=nphamcs@gmail.com \
    --cc=yosryahmed@google.com \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox