But, like, why does Thunderbird of all things like to eat RAM? And Pulseaudio? And Plasmashell? I don't get it. It's random stuff like this. I'm at 22/32G used right now, and I swear half of it is dumb stuff.
Conversation
Though honestly I have very little incentive to debug pulseaudio right now, seeing as I'll be switching to PipeWire as soon as I can make snd-dice.ko not suck.
2
5
I wonder if all along I've had some kind of stupid kernel config option set that makes everything terrible?
1
1
2
The in-memory caching in Firefox/Chromium is also quite heavyweight on desktop Linux compared to other platforms.
On Windows, they release caches with MEM_RESET and then use MEM_RESET_UNDO to get them back when they want to use them. If there was memory pressure, it's gone.
1
On Android, ashmem has unpin/pin to do the same thing.
MADV_FREE isn't usable since you don't have a way to undo it and check if everything was preserved. You can look at the platform abstraction code and it's just stubbed out for non-Android Linux so it holds onto more memory.
2
I helped convince them to add proper MADV_FREE so at least that's supported now. It doesn't really show up in the memory accounting in a reasonable way because it still considers it RES even though it will release it under memory pressure and won't swap it out.


