Just to be super nerdy, here’s an amazingly well-written article on the subject from someone with a lot of credibility: https://chrisdown.name/2026/03/24/zswap-vs-zram-when-to-use-what.html
tldr; prefer zswap
In my testing, zram has much, much better compression than zswap.
The points about LRU inversion, cgroups, and so on are valid, but at the end of the day, I don’t really care. I was able to open as many firefox tabs as I wanted with zram, but I could not do so with zswap, and that’s what matters to me.
The author of a blogpost is a facebook engineer. Millions of ultra high performance Linux servers are a very different usecase than a single desktop. It’s perfectly reasonable for a solution for one to not be appropriate for the other.
What a load of bull. Zram is so much more useful. That guy does not even know you can set up a fallback device for zram. Don’t trust any fool with a blog. Probably written and “researched” with ChatGPT.
“That guy” works full time as a kernel developer on the Linux memory management.
You should read the article. It has a section specifically on using a zram fallback device and how its performance compares to a similar zswap setup.
i prefer ram
Computers
magnets
I never could get a clear understanding of these. I just throw a partition on the nvme for swap as a failover. If it starts to fill, treat it like the countdown timer in uplink.
upvote for uplink reference.

/swapfile
sudo swapon /deeznutsis my favourite as it’s a valid commandYou have to fallocate /deeznuts first.
Is it possible to have both? I’m finding zram works well until it doesn’t.
I got corrected some time ago about this, it seems it’s possible, but not advisable. Like, if zram started, zswap will disable itself.
If you want to test zswap, you could create a swap file, disable systemds zram service and put the zswap variables into the kernel variables, also checking if swappiness is at the normal values, instead of the tuned ones for zram.
I use default Debian settings for zram myself, simple setup.
Never experienced slowdowns, got my Raspi4 using it + utilizing a tmpfs.
Got a luanti server with the world sqlite data base living on the tmpfs which is very snappy & utilize a mildly complex script that utilizes rsync to copy from ssd to tmpfs at start & only the changes back to the ssd at shutdown.
Now when you want to do larger tasks that require gobs of space or you’re using nvmes, Ive read that zswap is better.
Yeah, I used zram on the past, it’s really good, but some OOMs and stutters under high memory pressure made me change to zswap with lz4, it’s a very intelligent cache for these high memory use scenarios. But mounting a directory directly to memory is a very needed feature for zswap hahaha.








