And not a word about MGLRU and its settings. It has the biggest impact on performance on lower-end PCs, especially with low amount of RAM and slow HDD.
Here's a post from "le9" patch user which was created by ChromeOS developers much before MGLRU, but exploits the similar idea: keeping the essential file cache in RAM for as long as possible. It's usually night and day on low-end machines.
- https://www.phoronix.com/forums/forum/software/general-linux-open-source/1267300-le9-strives-to-make-linux-very-usable-on-systems-with-small-amounts-of-ram?p=1267789#post1267789
- https://www.phoronix.com/forums/forum/software/general-linux-open-source/1267300-le9-strives-to-make-linux-very-usable-on-systems-with-small-amounts-of-ram?p=1268100#post1268100
I had never heard of it, but checking it, I see MGLRU is enabled by default on my kernel (Mageia 10 with 6.18.xx). Are there distros where this is not enabled? Especially the ones mentioned in the blogpost? In that case it would need a recompile of the kernel, right? Or send in a bugreport to the distro.
For HDD, it also needs to be tuned. In its default configuration, MGLRU 'just' manages multiple generations of working sets, but there's a min_ttl_ms tunable which tries hard to prevent file cache from being reclaimed, which is not enabled by default.
https://docs.kernel.org/admin-guide/mm/multigen_lru.html#thr...
You'd want to set it to 300 or 500, or even 1000 for the HDDs. Around 100-200 for SSDs/EMMCs helps as well.
And for anonymous pages swapping, you'd want to do that on zram (compressed swap in RAM). It also make wonders. You don't want to touch the (old) disk for that.
Here's my old article (before MGLRU): https://notes.valdikss.org.ru/linux-for-old-pc-from-2007/en/