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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 49BD1D5CCB3 for ; Wed, 30 Oct 2024 14:42:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D03206B00A6; Wed, 30 Oct 2024 10:42:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CB17D6B00AA; Wed, 30 Oct 2024 10:42:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B52336B00AC; Wed, 30 Oct 2024 10:42:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 8A75F6B00A6 for ; Wed, 30 Oct 2024 10:42:02 -0400 (EDT) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 3BE22C0B8A for ; Wed, 30 Oct 2024 14:42:02 +0000 (UTC) X-FDA: 82730532738.18.31A32DB Received: from forward502a.mail.yandex.net (forward502a.mail.yandex.net [178.154.239.82]) by imf03.hostedemail.com (Postfix) with ESMTP id 204E720016 for ; Wed, 30 Oct 2024 14:41:47 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=yandex.ru header.s=mail header.b=EwTegAAg; spf=pass (imf03.hostedemail.com: domain of Hi-Angel@yandex.ru designates 178.154.239.82 as permitted sender) smtp.mailfrom=Hi-Angel@yandex.ru; dmarc=pass (policy=none) header.from=yandex.ru ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1730299161; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=JKiqmOmqYftHWjQtak+5WuxbipiwBxz+YF1/WdvrJPo=; b=tdwmzBwyrEz0Hz+MOECXtxBGYdd/zrMWWRmjodkXGgSVmxpRBHGCFmThdiYlR7Ry9V0Ili 458zxWq4F4+tL7u37dgNQ8glX4Npy+TvpS8wDHgTst+dD2uDXOv3qNBQw1zYyMzRM1M8VK TIieyxBVGD4DgJtyIgKQ+bth+SyC2Lo= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1730299161; a=rsa-sha256; cv=none; b=VNWEgmJ2kdQayuQhAPOx9r2adg9uyDoBK91LiqzGE9U5I6jkZ/XjXuzgEMap/06/z6KSMZ X6lQzK1eGoJi9FtIOSqQtkcqKwwDzF7s32vHZPirkKYLVwW+rs4Kx22khhWelJvhpcAhux iYO26D5a1rHPQShPl+yHz5H0KSugOn4= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=yandex.ru header.s=mail header.b=EwTegAAg; spf=pass (imf03.hostedemail.com: domain of Hi-Angel@yandex.ru designates 178.154.239.82 as permitted sender) smtp.mailfrom=Hi-Angel@yandex.ru; dmarc=pass (policy=none) header.from=yandex.ru Received: from mail-nwsmtp-smtp-production-main-64.vla.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-64.vla.yp-c.yandex.net [IPv6:2a02:6b8:c15:2984:0:640:b1d5:0]) by forward502a.mail.yandex.net (Yandex) with ESMTPS id E85F0619FB; Wed, 30 Oct 2024 17:41:57 +0300 (MSK) Received: by mail-nwsmtp-smtp-production-main-64.vla.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id ufbM8KZoAuQ0-ctAGwSmC; Wed, 30 Oct 2024 17:41:57 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1730299317; bh=JKiqmOmqYftHWjQtak+5WuxbipiwBxz+YF1/WdvrJPo=; h=References:Date:In-Reply-To:Cc:To:From:Subject:Message-ID; b=EwTegAAg2PLboxplNpyH9UkZYTKEtsY13OW72oCsi+/b+A4rp7OLv8muDNOd7pPWv PJlIZQJTS7aFiwXCfj2YtkWM7GBpfq+iPz6uhg6G78d+FKKNAcsreNMdAsyJNMc/Cn LHHlYgutTXAZnwgdqB2i4bh0P1cmDYAYHhdGFLGg= Message-ID: <861b38be2afcc1678cc2178a20f85b8fa1842bcc.camel@yandex.ru> Subject: Re: phantom memory in a cgroup (was [BUG] ZSwap leaks memory upon being disabled) From: Konstantin Kharlamov To: Yosry Ahmed Cc: Nhat Pham , linux-mm@kvack.org, Johannes Weiner , Chengming Zhou Date: Wed, 30 Oct 2024 17:41:56 +0300 In-Reply-To: References: <7d873b2682a7513a4d5aad5ac09f5c78851efbb6.camel@yandex.ru> <28352fb75268060f2e78a32325f02e46737a16ea.camel@yandex.ru> <656f9dad3edba22b3b8ae16b97050d3f189ff1dc.camel@yandex.ru> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.54.0 MIME-Version: 1.0 X-Rspamd-Queue-Id: 204E720016 X-Stat-Signature: w1q4iq3hkq99o3yp1n59uwboaaycy3cd X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1730299307-229243 X-HE-Meta: U2FsdGVkX19FpULjw/wcf5w/hh7yGYE6EFw5x6Dtlt3efUV/84RaepnbOid6cyt2o0DlPBzoDI/g6A8+TxrtKNXiaLnSIEP9GStBV9cIROBCWLrzx7SfNINBwSKIsF3pGG8rNRWyGLacdfP0twjtPVADL3dFVWYGwI53g+SwJ/Apc7qibJmmYpNLBM1A7DeFp8PGa+wi23G63kQcqLKKhTZa2dt7AIhyRjlPtnAn2IKr1Jv+EqAjTvvjO8ODQT10spbp3CACTKHLbGyyUMbmaK5LVdEfq/ZZDYqw/VddQKJV6yI6HDnBXuYlJI5IZB2ycKU8iLtKRM49uKDpWf0ByljNOfKFZBlCtc1A2MnkY5VEzIQiIoFV0itNdTAs0c4BSe3p9+jvTVtIdRT68luySMv2dU8WT54ir5RNr6OzOPP8OoY6dY9saSGvpzzyUoaP3+32l7Cuz2kD/R3u8ddOAhfcTBFrIdVdS+7Ey/P3wokANoJtq4x9vnJTtjGPMwoNaYyx6EfZbNUYuhe1AEOtBcxYVj9KwEzAIsDx91r5jU+fqLbmy5YIbStSkJVdkhkw3x/C3IccVheWK9ZsNqQpT4mKs9Jg+01xiNL4uiZaotTG5Mhzb8lp5ZbqNiQCoB0erDaMAZ+1jChAuLJiMPjTWOhY32RGzBWnNFh/WMKgS/1K80cf0YpV6ReTkt8VE1qUQK3Vuirv5G4xvGJ25JtAiXR1Ztlzy8+9W6elGDU/uVD84tjVX1/l5L5L9DH5eFMPGpSNYUjI/3Jba/6KhZ6Enp0cixFoXcyPZAYRzNgfyCrXF0Mr1jvcFbD6cxTmo+xT0IwFJSvohpKYfDKXMx9vjj2wVo2vBQVWh4mhdbyz1iJoYYHuf4G99Fcb+SXO3nhcVHYHgJ4sgwis6qdXEBifSZXevzOndZmqoMhZcKyBf1Tgc1zCVNveOVmTUrexlZ7gc1VioaTKXi7YHsI566G qIZ/oqLS KSGGDRkMNFILimEcCpnNCfGxmSFt0xYzKuQq7BYPn3Vo09glXdJs9mQLOniobQeWrlFdRAme8XnwaiI3KNjkyvcbt9FP+enag2UwW9jEyy0+YdhSFCuj6EQEXSNJgKZQ5HyoZYYHwHm7upAEo4xIrffUWFOs6HJa1bxudUdHabJRV18VYUnkWr0t2ErrfMvCTagF1N73VtYgxuLYpbloqQfi4q99AO8Eq0pChGGwaQWBNQk07itdRXh/nYGl/ID88vvGnZZkkyM/nvCnKH7zvRPAqrqDz/SJ5cCHAM7yJ95sEP+Xpg/A73u71MdNJ1orNS7Ql1kdK7s1Qs2g= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000005, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Mon, 2024-10-28 at 01:13 +0300, Konstantin Kharlamov wrote: > On Sun, 2024-10-27 at 12:31 -0700, Yosry Ahmed wrote: > > One thing you can do is take a snapshot of memory.stat when > > memory.swap.current is at a high value (for sddm), then swapoff, > > then > > take another snapshot of memory.stat. > > > > We should see an increase in either anon or shmem, which will tell > > us > > which type of memory was swapped out. > > Okay. I will have to wait, because the session got killed by OOM. But > I > think it's gonna reproduce in just a few days, my new workflow seems > to > be triggering that a lot. Done. I missed one cycle, which again got my session killed by OOM =F0=9F= =98=85 Now I caught this in time. The information was retrieved by: (systemctl status sddm && cat /sys/fs/cgroup/system.slice/sddm.service/= memory.stat) > ~/Projects/cgroups-mem-leak/"$(date -R)".log I wasn't sure how to represent it in email, and decided to post a diff of "before `swapoff -a`" and "after =E2=80=A6", to be viewed with `diffr` o= r with `perl /path/to/diff-highlight` of git or similar. Diff follows: --- "Wed, 30 Oct 2024 17:27:38 +0300.log" 2024-10-30 17:27:38.4012900= 17 +0300 +++ "Wed, 30 Oct 2024 17:28:12 +0300.log" 2024-10-30 17:28:12.3976957= 98 +0300 @@ -6,8 +6,8 @@ man:sddm.conf(5) Main PID: 710 (sddm) Tasks: 9 (limit: 18621) - Memory: 1.2G (peak: 2.8G swap: 1.7G swap peak: 3.2G zswap: 58.3M) - CPU: 6h 10min 7.847s + Memory: 2.8G (peak: 2.8G swap: 0B swap peak: 3.2G) + CPU: 6h 10min 14.748s CGroup: /system.slice/sddm.service =E2=94=9C=E2=94=80710 /usr/bin/sddm =E2=94=94=E2=94=80746 /usr/lib/Xorg -nolisten tcp -background= none -seat seat0 vt2 -auth /run/sddm/xauth_GXHGRA -noreset -displayfd 20 @@ -22,36 +22,36 @@ =D0=BE=D0=BA=D1=82 28 09:22:36 dell-g15 sddm-helper[925]: Writing cookie t= o "/tmp/xauth_RKKlcB" =D0=BE=D0=BA=D1=82 28 09:22:36 dell-g15 sddm-helper[925]: Starting X11 ses= sion: "" "/usr/share/sddm/scripts/Xsession \"env KDEWM=3D/usr/bin/i3 /usr/b= in/startplasma-x11\"" =D0=BE=D0=BA=D1=82 28 09:22:36 dell-g15 sddm[710]: Session started true -anon 42807296 -file 1150423040 -kernel 79376384 +anon 93822976 +file 2957750272 +kernel 18210816 kernel_stack 147456 pagetables 7204864 sec_pagetables 0 percpu 2184 sock 0 vmalloc 12288 -shmem 1150795776 -zswap 61173438 -zswapped 1751408640 +shmem 2958123008 +zswap 0 +zswapped 0 file_mapped 4108288 file_dirty 0 file_writeback 0 -swapcached 17666048 +swapcached 0 anon_thp 2097152 file_thp 0 shmem_thp 0 -inactive_anon 445014016 -active_anon 625201152 +inactive_anon 589209600 +active_anon 2321489920 inactive_file 2895872 active_file 2244608 -unevictable 140836864 -slab_reclaimable 8166656 -slab_unreclaimable 2618128 -slab 10784784 -workingset_refault_anon 69854 +unevictable 141144064 +slab_reclaimable 8169032 +slab_unreclaimable 2625208 +slab 10794240 +workingset_refault_anon 177253 workingset_refault_file 12496 -workingset_activate_anon 33476 +workingset_activate_anon 41579 workingset_activate_file 2372 workingset_restore_anon 12558 workingset_restore_file 2132 @@ -64,14 +64,14 @@ pgsteal_kswapd 1243374 pgsteal_direct 348876 pgsteal_khugepaged 9149 -pgfault 626853 +pgfault 626941 pgmajfault 11521 pgrefill 560417 pgactivate 85087 pgdeactivate 0 pglazyfree 0 pglazyfreed 0 -zswpin 87568 +zswpin 515158 zswpout 1395410 zswpwb 211559 thp_fault_alloc 8