Hi guys! I’m a bit tired that my system sometimes completely becomes unresponsive while running things that could fill up the memory. I have 32GB of RAM, a bit of a swap file in my SSD (I think something like 5GB swap), but this clearly isn’t cutting it. I was having a few browser windows opened, a handbrake encoding that was paused and decided to open Death Stranding 2, which is optimized to take around 5-6GB of RAM. And the system became once more so unresponsive that I had to literally reset it, after 5mins of nothing. I’d like to implement in my Ubuntu-based distro what they have in CachyOS. I’m not exactly sure, but I think it’s a ZRAM-based swap partition? Something like 1 or 2GB commited to compressed virtual memory in RAM? Seems this works much better when things are close to getting dicey…how would I go about doing what they use in CachyOS? Is there any easy to follow guide?


Use systemd-zram-generator. The process is explain in the DebianWiki and the ArchWiki and this random blog, but it boils down to just a few commands you need to run:
You can tweak the settings above. Fedora recommends using
zram-size = min(ram, 8192), which would correspond to 8GB ZRAM in your case. CachyOS uses a less conservative config withzram-size = ram.To confirm that zram is working, run
zramctl. It should print something likeSee also Improving system responsiveness under low-memory conditions.
Systemd absorbed zram now.
And no, you don’t need a background service for this.
Systemd is a great operating system, all it lacks is a kernel.
Just like GNU coreutils.
What happens when you reboot?
Using a udev rule
I’d take a single file config. It’s cleaner and easier to see what’s going on.
You may not need an additional package, but often they’re convenient.