You are not logged in.
Yeah, I'm aware that the used memory confusion caused me to contradict my previous statements.
Dropping caches from rescue.target worked, "the number" dropped down to 300 MB. Trying while inside a graphical session is a different story.
Is the massive RAM consumption likely just cache then? The free -h cache value from OP doesn't support that idea.
Older kernels didn't really help.
Last edited by LaserMoai (2023-04-23 19:57:12)
Offline
Dropping caches from rescue.target worked
Splendid, tells us where the RAM is.
Did you drop the page and dentry/inode caches separately (and monitor the impact)
We'd kinda being looking at LUKS then again, though
Or do you maybe try to avoid disk writes?
Do "df -h" and "sudo ncdu" drastically fall apart (during the grpahical session)?
https://bbs.archlinux.org/viewtopic.php?id=273590
Offline
Did you drop the page and dentry/inode caches separately (and monitor the impact)
Now I did, and only dentries and inodes actually matter here.
Do "df -h" and "sudo ncdu" drastically fall apart (during the grpahical session)?
There's barely any changes going on there. Just /dev/shm fluctuating from 0% to 8% and back to 4 during serious RAM use from what I've seen so far.
Offline
Is this a LUKS1 or LUKS2 setup?
https://gitlab.com/cryptsetup/cryptsetup/-/issues/372
I guess you encrypted the entire system and not just /home?
Offline
It's all LUKS 2. As I've previously mentioned, it's full system encryption using 2 separate volumes.
Its impact on RAM usage doesn't feel particularly large. If I don't mount the data volume, the amount of mysteriously consumed memory is still the same.
Last edited by LaserMoai (2023-04-24 07:39:13)
Offline
Because the overhead being linked to usage, the system partition is likely the relevant one.
LUKS2 is, as mentioned in the wiki, RAM-heavy by default.
If you wanna try:
https://wiki.archlinux.org/title/Removi … s_in-place
SEE THE BIG FAT RED NOTE!
Just the conversion might suffice, see also
https://unix.stackexchange.com/question … -version-1
AND MAKE SURE TO HAVE BACKUPS!
Offline
All right, I'll try this out. Thanks a lot for the help.
Offline
So I've finally found the time to convert the partition to LUKS1 and that didn't help. Even without a single mounted LUKS2 partition the leaked memory can easily reach 2.5 GB.
Full root partition decryption it is then?
Last edited by LaserMoai (2023-05-06 18:25:57)
Offline
You can try but while I can see the memory overhead being a thing on LUKS2 (specifically argon) this should™ not affect LUKS1
Last edited by seth (2023-05-06 18:29:14)
Offline
Let's put that aside as a plan B then, if you don't mind. That doesn't really look like the optimal path.
EDIT: Just in case, I did check cryptsetup luksDump, and the partition's definitely LUKS1 now.
Last edited by LaserMoai (2023-05-06 18:41:58)
Offline
I decrypted the root partition and I don't see any difference.
Last edited by LaserMoai (2023-05-08 11:24:45)
Offline
Any more ideas, anyone? Should I just reinstall everything or add more RAM?
Offline
More RAM won't prevent leaks and re-installation should™ not, assuming this is some kernel leak.
To re-cap, you're "losing" memory inside the graphical.target, dropping caches inside the graphical.target does not release them, nor does switching to the rescue.target. But dropping the caches there then does.
Are you willing to run the system on openbox and w/o any flatpaks for a while (until the leak either emerged or you'd expect it to have by now)?
Offline
Yeah, I can try that.
Offline
Also avoid running as many KDE things as possible - notably baloo and (perhaps?) akonadi (kmail backend). If you can.
Offline
Openbox doesn't seem to have made much of a difference. On startup there was 400 MB leaked, and after I connected to wi-fi and launched a couple of browser sessions that number quickly rose to 1.5 GB.
> free -h
total used free shared buff/cache available
Mem: 13Gi 10Gi 484Mi 884Mi 2.9Gi 2.2Gi
Swap: 15Gi 0.0Ki 15Gi
> smem -tk
PID User Command Swap USS PSS RSS
7303 daniil /usr/bin/autossh -M 0 -NL 2 0 128.0K 135.0K 1.7M
1850 daniil /usr/lib/chromium/chrome_cr 0 340.0K 533.0K 4.2M
5134 daniil /usr/lib/chromium/chrome_cr 0 336.0K 537.0K 4.2M
5132 daniil /usr/lib/chromium/chrome_cr 0 396.0K 662.0K 4.7M
1848 daniil /usr/lib/chromium/chrome_cr 0 416.0K 685.0K 4.7M
5141 daniil /usr/lib/chromium/chromium 0 244.0K 780.0K 18.0M
757 daniil /usr/bin/dbus-daemon --sess 0 896.0K 1.0M 5.0M
1103 daniil /usr/lib/at-spi-bus-launche 0 892.0K 1.1M 6.9M
1857 daniil /usr/lib/chromium/chromium 0 236.0K 1.4M 17.6M
2280 daniil bash --norc 0 2.0M 2.1M 4.4M
4976 daniil fish 0 2.1M 2.4M 8.4M
815 daniil /usr/lib/xdg-permission-sto 0 2.5M 2.6M 7.6M
861 daniil fish 0 2.6M 2.9M 9.0M
3895 daniil fish 0 2.6M 2.9M 9.0M
811 daniil /usr/lib/xdg-document-porta 0 2.9M 3.1M 8.9M
1032 daniil /usr/lib/gvfsd-fuse /run/us 0 2.9M 3.2M 8.2M
5139 daniil /usr/lib/chromium/chromium 0 176.0K 3.5M 70.0M
732 daniil /usr/lib/systemd/systemd -- 0 2.3M 3.9M 11.4M
1855 daniil /usr/lib/chromium/chromium 0 176.0K 4.0M 66.3M
744 daniil /usr/bin/kwalletd5 --pam-lo 0 3.1M 4.0M 21.7M
1024 daniil /usr/lib/gvfsd 0 3.7M 4.1M 10.9M
2140 daniil fish 0 3.9M 4.2M 10.2M
1674 daniil fish 0 3.9M 4.2M 10.3M
4778 daniil /usr/bin/kglobalaccel5 0 3.4M 4.6M 27.5M
7304 daniil /usr/bin/ssh -NL 22:localho 0 4.1M 4.7M 9.9M
2397 daniil fish 0 4.4M 4.7M 10.8M
2043 daniil /usr/bin/keepassxc-proxy ch 0 3.5M 4.8M 18.2M
1382 daniil /usr/bin/keepassxc-proxy /h 0 3.6M 4.8M 18.2M
1890 daniil /usr/lib/chromium/chromium 0 3.4M 5.2M 43.7M
2560 daniil /usr/lib/electron/electron 0 128.0K 5.9M 13.3M
5167 daniil /usr/lib/chromium/chromium 0 5.0M 6.8M 47.5M
1910 daniil /usr/lib/chromium/chromium 0 5.7M 7.6M 63.3M
806 daniil /usr/lib/xdg-desktop-portal 0 7.1M 7.8M 17.8M
2038 daniil /usr/bin/plasma-browser-int 0 5.3M 8.1M 42.4M
5323 daniil /usr/bin/plasma-browser-int 0 5.4M 8.1M 42.5M
831 daniil /usr/lib/xdg-desktop-portal 0 6.1M 8.3M 42.1M
9478 daniil /usr/lib/chromium/chromium 0 7.7M 8.9M 68.3M
1379 daniil /usr/bin/plasma-browser-int 0 6.4M 9.5M 48.0M
2558 daniil /usr/lib/electron/electron 0 100.0K 9.9M 84.2M
4771 daniil /usr/lib/kactivitymanagerd 0 7.8M 10.0M 42.2M
1854 daniil /usr/lib/chromium/chromium 0 780.0K 10.1M 66.2M
1108 daniil /usr/lib/firefox/firefox -c 0 8.9M 10.2M 61.1M
2557 daniil /usr/lib/electron/electron 0 828.0K 10.3M 83.5M
5138 daniil /usr/lib/chromium/chromium 0 820.0K 10.3M 69.1M
839 daniil /usr/bin/pipewire 0 8.2M 10.5M 22.1M
1949 daniil /usr/lib/chromium/chromium 0 8.0M 10.9M 95.8M
1987 daniil /usr/lib/chromium/chromium 0 9.0M 11.9M 98.0M
5310 daniil /usr/lib/chromium/chromium 0 11.3M 13.3M 102.9M
1986 daniil /usr/lib/chromium/chromium 0 10.6M 13.6M 95.3M
1969 daniil /usr/lib/chromium/chromium 0 12.7M 16.2M 113.4M
5196 daniil /usr/lib/chromium/chromium 0 13.7M 16.2M 119.4M
840 daniil /usr/bin/wireplumber 0 14.2M 16.3M 30.5M
2107 daniil /usr/lib/chromium/chromium 0 14.6M 17.5M 76.4M
745 daniil /usr/bin/openbox --startup 0 17.3M 17.8M 36.9M
8000 daniil /usr/lib/chromium/chromium 0 14.9M 17.9M 116.7M
2591 daniil /usr/lib/electron/electron 0 13.3M 19.6M 99.4M
7195 daniil /usr/lib/chromium/chromium 0 16.6M 19.6M 79.9M
5263 daniil /usr/lib/chromium/chromium 0 17.1M 19.7M 118.9M
6852 daniil /usr/lib/chromium/chromium 0 17.9M 21.6M 121.9M
7083 daniil /usr/lib/chromium/chromium 0 18.8M 21.7M 131.0M
10963 daniil /usr/lib/firefox/firefox -c 0 20.2M 22.5M 101.6M
1607 daniil /usr/lib/firefox/firefox -c 0 21.0M 23.2M 80.5M
1176 daniil /usr/bin/pipewire-pulse 0 23.1M 23.8M 30.9M
6865 daniil /usr/lib/chromium/chromium 0 21.5M 25.1M 125.8M
2801 daniil /usr/lib/electron/electron 0 20.4M 25.6M 104.2M
2777 daniil /usr/lib/electron/electron 0 20.5M 25.7M 106.6M
11053 daniil python /usr/bin/smem -tk 0 28.7M 28.7M 31.3M
2749 daniil /usr/lib/electron/electron 0 23.6M 28.9M 109.8M
1881 daniil /usr/lib/chromium/chromium 0 23.5M 28.9M 101.6M
1385 daniil /usr/lib/firefox/firefox -c 0 26.3M 29.5M 126.2M
1209 daniil /usr/lib/firefox/firefox -c 0 26.6M 29.8M 125.1M
1387 daniil /usr/lib/firefox/firefox -c 0 26.8M 30.1M 126.7M
5249 daniil /usr/lib/chromium/chromium 0 28.4M 31.0M 131.7M
7369 daniil /usr/lib/chromium/chromium 0 27.5M 31.0M 151.9M
9322 daniil /usr/lib/chromium/chromium 0 27.5M 31.0M 152.2M
7322 daniil /usr/lib/chromium/chromium 0 27.7M 31.2M 152.1M
7273 daniil /usr/lib/chromium/chromium 0 27.7M 31.2M 152.2M
8717 daniil /usr/lib/chromium/chromium 0 27.7M 31.2M 152.6M
7129 daniil /usr/lib/chromium/chromium 0 28.0M 31.5M 152.5M
6994 daniil /usr/lib/chromium/chromium 0 28.1M 31.6M 152.6M
1911 daniil /usr/lib/chromium/chromium 0 28.4M 32.0M 128.3M
5197 daniil /usr/lib/chromium/chromium 0 30.5M 33.2M 137.4M
8039 daniil /usr/lib/chromium/chromium 0 30.9M 33.6M 140.4M
9363 daniil /usr/lib/chromium/chromium 0 30.4M 33.8M 141.8M
2712 daniil /usr/lib/electron/electron 0 28.0M 34.1M 119.7M
9311 daniil /usr/lib/chromium/chromium 0 30.3M 34.1M 157.8M
5166 daniil /usr/lib/chromium/chromium 0 27.3M 34.2M 111.1M
7119 daniil /usr/lib/chromium/chromium 0 30.5M 34.3M 158.5M
9185 daniil /usr/lib/chromium/chromium 0 32.9M 36.3M 149.2M
5428 daniil /usr/lib/chromium/chromium 0 33.5M 36.7M 147.7M
2713 daniil /usr/lib/electron/electron 0 31.8M 37.9M 124.2M
7579 daniil /usr/lib/firefox/firefox -c 0 36.3M 39.4M 142.7M
7381 daniil /usr/lib/chromium/chromium 0 38.0M 40.8M 150.9M
8127 daniil /usr/lib/firefox/firefox -c 0 37.9M 40.9M 141.1M
803 daniil konsole 0 30.6M 41.3M 125.9M
6849 daniil /usr/lib/chromium/chromium 0 39.7M 44.7M 154.7M
1664 daniil konsole 0 32.2M 45.6M 155.1M
5404 daniil /usr/lib/chromium/chromium 0 42.9M 46.1M 158.0M
8906 daniil /usr/lib/firefox/firefox -c 0 44.1M 47.6M 154.1M
3885 daniil konsole 0 27.9M 47.6M 190.9M
4966 daniil konsole 0 27.9M 47.7M 191.1M
2129 daniil konsole 0 32.2M 48.2M 175.5M
8947 daniil /usr/lib/firefox/firefox -c 0 45.9M 48.9M 150.1M
6876 daniil /usr/lib/chromium/chromium 0 47.2M 50.0M 160.1M
2387 daniil konsole 0 32.2M 50.7M 189.4M
7629 daniil /usr/lib/firefox/firefox -c 0 49.6M 53.6M 160.7M
5412 daniil /usr/lib/chromium/chromium 0 55.7M 59.8M 174.1M
2763 daniil /usr/lib/electron/electron 0 57.2M 62.7M 145.8M
2553 daniil /usr/lib/electron/electron 0 48.7M 62.7M 175.6M
7554 daniil /usr/lib/firefox/firefox -c 0 58.7M 63.3M 185.4M
8993 daniil /usr/lib/firefox/firefox -c 0 60.5M 64.2M 174.3M
7445 daniil /usr/lib/firefox/firefox -c 0 62.7M 66.2M 171.3M
7501 daniil /usr/lib/firefox/firefox -c 0 61.6M 66.4M 190.0M
2702 daniil /usr/lib/electron/electron 0 65.7M 72.3M 165.6M
7525 daniil /usr/lib/firefox/firefox -c 0 68.8M 73.4M 196.1M
1877 daniil /usr/lib/chromium/chromium 0 53.7M 76.5M 202.2M
8815 daniil /usr/lib/firefox/firefox -c 0 74.4M 78.0M 187.0M
1135 daniil /usr/lib/firefox/firefox -c 0 76.3M 80.6M 182.1M
2584 daniil /usr/lib/electron/electron 0 59.3M 82.8M 209.9M
9129 daniil /usr/lib/firefox/firefox -c 0 82.8M 86.2M 193.3M
10346 daniil /usr/lib/firefox/firefox -c 0 87.9M 91.4M 198.5M
2826 daniil /usr/lib/electron/electron 0 93.8M 99.0M 179.8M
9681 daniil /usr/lib/firefox/firefox -c 0 98.7M 102.6M 213.1M
1605 daniil /usr/lib/firefox/firefox -c 0 55.5M 102.9M 203.9M
7435 daniil /usr/lib/firefox/firefox -c 0 103.8M 107.9M 219.7M
7605 daniil /usr/lib/firefox/firefox -c 0 107.2M 111.2M 221.6M
1929 daniil /usr/lib/chromium/chromium 0 107.1M 113.4M 235.5M
7769 daniil /usr/lib/chromium/chromium 0 118.4M 122.1M 238.1M
9374 daniil /usr/lib/chromium/chromium 0 119.6M 123.3M 239.6M
7488 daniil /usr/lib/firefox/firefox -c 0 129.8M 135.1M 259.3M
1514 daniil /usr/lib/firefox/firefox -c 0 133.7M 139.1M 253.5M
1846 daniil /usr/lib/chromium/chromium 0 120.2M 148.7M 286.7M
7041 daniil /usr/lib/chromium/chromium 0 154.0M 158.0M 282.1M
9362 daniil /usr/lib/chromium/chromium 0 155.1M 159.0M 282.7M
8010 daniil /usr/lib/chromium/chromium 0 158.4M 162.3M 285.7M
5165 daniil /usr/lib/chromium/chromium 0 130.4M 176.6M 336.1M
1285 daniil /usr/lib/firefox/firefox -c 0 183.9M 187.9M 290.0M
2603 daniil /usr/lib/electron/electron 0 185.2M 197.9M 305.3M
2764 daniil /usr/lib/electron/electron 0 204.0M 209.3M 290.4M
7468 daniil /usr/lib/firefox/firefox -c 0 219.3M 224.4M 346.9M
5130 daniil /usr/lib/chromium/chromium 0 200.8M 231.2M 376.4M
6850 daniil /usr/lib/chromium/chromium 0 228.6M 237.1M 365.8M
8289 daniil /usr/lib/firefox/firefox -c 0 266.0M 270.8M 394.5M
8286 daniil /usr/lib/firefox/firefox -c 0 274.3M 279.2M 404.3M
7438 daniil /usr/lib/firefox/firefox -c 0 279.6M 284.4M 408.6M
6864 daniil /usr/lib/chromium/chromium 0 308.9M 317.5M 447.6M
7421 daniil /usr/lib/chromium/chromium 0 325.4M 333.6M 460.1M
6982 daniil /usr/lib/chromium/chromium 0 467.6M 474.2M 602.4M
1518 daniil /usr/lib/firefox/firefox -c 0 479.6M 485.2M 608.3M
1003 daniil /usr/lib/firefox/firefox 0 465.6M 534.1M 789.0M
-------------------------------------------------------------------------------
150 1 0 8.4G 9.2G 21.1G
Offline
Is your metric for that teh smem output?
The value closes to "meaningful" in there is the PSS and that'd be in line w/ the free report?
Offline
No, I'm tracking it with that command.
while true; do awk '/MemTotal:/{v=$2}/MemFree:|Active:|Inactive:|Slab:/{v-=$2} END {printf v/1024 " MB\r"}' /proc/meminfo; sleep 5; done
You don't want that number to spiral out of control.
Last edited by LaserMoai (2023-05-12 19:37:46)
Offline
'key.
Since chromium/electron is on the record for shenanigans w/ unlinked files, can you run w/o any of those (electron likely being vscode or discord)?
Offline
Testing on KDE is fine, right? When out of web-adjacent apps only Firefox is launched, the leaked memory metric is around 700-900 megs. If I load a lot of tabs into memory, it can still easily bloat to 1.9 GB.
Offline
I assume this also works vv (ie. not using FF but chromium only)?
And does FF cause the same in the https://wiki.archlinux.org/title/Firefo … shoot_Mode ?
Offline
Yeah, it does to both questions.
Offline
Hey again. Any more ideas?
Offline
Pretty please? Anyone?
Offline
You're not leaking memory in the kernel (as the kernel version is irrelevant and dropping the caches outside the GUI session releases it) and apparently also not due to the encryption - my money is on some userspace library or driver (as it's apparently also not tied to a specific process, though maybe it has to be VRAM heavy)
You could try a wayland session (weston/sway), make sure the browsers don't use xwayland, https://wiki.archlinux.org/title/Firefox#Wayland
But your core incentive is to figure what process(es) are driving this - and what you end up doing differently (wild tmpfs shenanigans etc.)
Offline