Multi-Gen LRU is a game changer on my low memory netbook
-
On my low RAM/CPU netbook it is a game changer; thanks to ZRAM the netbook is perfect for browsing the internet/light work. When running my backups (creates big tarballs) or Ansible though, my desktop/applications would freeze/stutter noticeably.
Enabling MGLRU simply solved the problem of freezes/stuttering, it feels like magic and besides ZRAM, I don't know of any other lever with this massive impact on desktop performance.Just wanted to share this, for other users with low RAM/CPU hardware. I would assume the observed difference is less dramatic, once 8GB of RAM are available, but I would love to hear about other experiences.
I would also love to hear/learn about other levels with high impact to tweak for low RAM/CPU desktop devices. Anything else to tweak under /sys /proc which has impact on performance?
-
L [email protected] shared this topic
-
Did you need to compile a kernel to enable it? I’ve just done the project of installing Debian on a 20 year old iMac with 2.5 GB of RAM, and while zram definitely seems to help, I’d love to try this as well.
-
Yes, but maybe debian enables it by default? You can check by running
cat /sys/kernel/mm/lru_gen/enabled
If the result is
0x0007
, it means MGLRU is fully enabled. -
I am running Debian 12 on all of my devices with Debians vanilla kernel!
One further tip for ZRAM: On my device the LZ4 algorithm was noticeable faster than ZSTD (didn't try ZSTD with the enabled MGLRU, yet) and it was important to disable the RAM page read-ahead on my device.
-
Debian does not enable it by default, cat /sys/kernel/mm/lru_gen/enabled will be a 0.
-
I think I did go with LZ4 after looking at benchmarks; I figured on a weak CPU speed would be more valuable than another few percent of compression. I’ll have to look into the RAM page read-ahead.
-
I’m on trixie, since recent Mesa has many fixes for very old Radeon GPUs, and it appears to be on by default! At least, I didn’t intentionally turn it on and it’s on.
-
Just set vm.page-cluster to 0, to disable the page read-ahead (AFAIK the default value was set when swap was still on rotating disks).
-
Does on mean that /sys/kernel/mm/lr_gen/enabled returns 0x7?
-
Yes indeed.