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.
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.
Can maybe use ramdisk (kernel opt) with btrfs for built in snapshot and diff send.
Just switched to zswap on my cachyOS install and I can feel the difference. I had freezes where the system chugs when I have several processes running. Now, I don’t get them anymore. Not gonna pretend that I understand everything about them fully, but I searched online and some folks recommended zswap and I went with it.
Computers
theres zswap?





