114
New Patches For Linux's Zswap Show Major Improvements
(www.phoronix.com)
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
Thanks. I'll read more about it, starting at https://wiki.archlinux.org/title/Zswap and https://en.wikipedia.org/wiki/Zswap (interestingly the Archwiki result was the top result). From Wikipedia:
To me, this sounds like its the opposite of full RAM. It tries to avoid writing to swap file, if I understand it correctly. Or bundle them up to write a huge chunk only once, like filesystem do on hard drives or SSDs in example, to reduce writing each single block. Do I understand it correctly? So one would need a huge amount of system RAM to have this work effectively. I have 32gb RAM and practically never fill it up when playing a game, usually. So maybe its worth exploring this option. Overall seems like most people with their current setup aren't affected by this Linux update.
So it basically makes a fake swap space in your RAM and that section is compressed. Linux still treats it as swap space so it only writes to it when you're low on RAM (or there's better things that could be cached in RAM even when it looks like your RAM is mostly empty it can still cache frequently accessed data from your disk). Zswap tries to store most swap in the compressed section of RAM, but when something doesn't compress well or when there's just too much stuff for RAM, it will write to the swap on disk.
No, it's good for all sizes of RAM. If you have really small RAM, Zswap can actually be essential because without it you would be reading/writing to disk swap too much and performance would suffer. Someone got Linux running on a Switch Lite, just 4GB of RAM with full desktop and Steam too, and they said "With only 4 GB of RAM, zswap is basically mandatory here"
Zswap would probably still improve performance for you, but it might not be a noticeable difference. But it will reduce your SSD writes, so that's nice to improve SSD lifetime a bit.
This is a very technical article about zRAM and Zswap https://chrisdown.name/2026/03/24/zswap-vs-zram-when-to-use-what.html (I think his tone is overly harsh on zRAM, zRAM can be great if the computer has a slow spinning rust hard drive)
a little less technical https://easylinuxtipsproject.blogspot.com/p/speed-mint.html#ID2
Thanks that is a bit more enlightening. I'll read the given link and other source today, to get more into. Especially if it helps avoiding writes to SSD, as I got burned very hard from wearing down SSD (it was a software bug that lead to it). I guess the performance difference and the amount it saves from SSD rewrites shouldn't be too much to be worried about, but it bugged me so much that I will take this into consideration nonetheless.
Guess I learned something new today. :-)
This, assuming you have a swap partition, right? I'm running with 64 GB without any swap. No issues while gaming AAA titles. Without swap there should be no wear on the SSD, right?
Here is an article In defence of swap: common misconceptions by Chris Down from 2018. It has a "tl;dr" section with 7 points, if you just want have a quick look.
I setup a swap file instead a partition, it's just more flexible, but same concept. The swappiness settings
cat /proc/sys/vm/swappinessis at "60" with a total size of 64 GiB on a very fast NVME SSD. If this was a slow HDD, then any writes and reads would be much more noticeably slow. I had it disabled in the past too and didn't notice any difference. The only difference to me would be, if the system RAM fills up, then the system could freeze and maybe crash. Or the system will unload applications to make room, and it could hit randomly an important app. Imagine a program has a memory leak.If you really don't want any swap then you can use zRAM. I've heard even just a little bit of swap space (even zRAM) can help a lot. Note that when you set up zRAM, if you set it to 16GB that does not mean it will cap at 16GB of RAM usage, it means it will cap at 16GB of data pre-compression and its actual RAM usage will likely be closer to 6GB when full. And when it's empty it doesn't use any RAM.
That sounds great. I'll keep that in mind when I reach the point where my large RAM size becomes obsolete. π
Gaming isn't heavy on ram. You need fast ram not lots of ram for gaming. Lots of ram helps with heavy workloads, compiling and software development and stuff. Playing a game only needs the recommended amount for that game, then as fast as you can get so as not to be a bottleneck for your CPU.
Alright, well, that's not really addressing the question. Without a swap partition, you shouldn't get much wear on your SSD, right?
Sorry, I may have misunderstood. No, if you don't use your SSD as a swap device, you won't use or wear your SSD with swap. With 64gb ram and just playing AAA games, you won't have much need for any kind of swap. If you decide to do any heavy workloads that are heavy on ram requirements, zswap is an option to keep swap off your SSD and thus prevent wear on the disk. However if you are very limited on ram for your workload, zswap might not provide enough space, then traditional SSD swap will be the final option.
Okay cool, thank you ππ
No worries, I think maybe I came off a little bit annoyed, which I assure you I wasn't. π
I find it slightly counterproductive that this is a countermeasure against swapping to disk/"device":
You want to avoid swapping, which happens when RAM is full (right?), so you create a really fast operating swap thing in RAM, reducing the amount of operational RAM, thus inducing more swapping because there's "less" "RAM".
Not to mention that the data is just moving from place to place inside RAM, just as it would've been sitting there before anyway. The only difference is the compression, I assume? Which is the main benefit? Otherwise it just feels like unnecessary shuffling of data back and forth.
In terms of performance, you actually don't want to avoid swapping, you want your OS to be smart about swapping. Some type of swap space is probably always beneficial unless you have more RAM than storage lol. Swap is great for putting aside data that isn't needed but can't be freed, and prioritizing filesystem cache over some background service that isn't doing anything. Even big servers often use some form of swap because swap can reduce disk reading. In some cases swap can even reduce disk writing, as counter intuitive as that sounds.
Yea both zRAM and Zswap use good compression, typically around 3:1 ratio, and it's still light on CPU usage, much faster than SSD swap.
I remember when I used to have swap enabled. It used to be very slow, back in the days when we used swap in mechanical drives. The computer would just freeze for a second while swapping, lol.
So I'm having some trouble wrapping my head around why swapping would not be something you want to avoidβwhy it would be beneficial for performance. If you can prevent the need for swapping, that's the best outcome, surely? The only solution to which would be to have enough pure RAM installed in the system.
But I think I get you? You mean you "want" to swap when the memory runs out?
It's more complicated than that. If stuff in your disk needs faster access than old unused stuff in memory, swap can make the swap so that the stuff in your disk is cached better in memory. If you were able to cache your entire filesystem into RAM then your computer would be faster, but people don't have that much RAM.
That's not how it works but yes, if you don't need to swap, then that is better. Avoiding swapping though is also the wrong angle as depending on amount of ram, swapping can be beneficial, it just depends.
That's not how it works, but I'm right? I guess I just don't get it at all. π Which just makes it all the more interesting I suppose. π
Yeah, there is a lot to it. Firstly, if you have loads of ram, and don't really use it, then discussing swap is pointless, just don't have a swap device. If ram on your system is marginal for your workload, then swap is a must have as your system will gain performance by being able to swap, even if it is to an SSD. In that case your system will start swapping to ssd as it gets closer to being full. Zswap improves this by using the margin the system has in ram at which it would swap, to compress the pages in ram instead. So you don't lose any usable ram with zswap. But you gain performance as compressing the pages in ram is faster than writing them to SSD. But it does eat some CPU load in doing this.
Ah, okay. I get it, I think. You're still using the same amount of RAM but you're spending some CPU cycles compressing its contents to make more room.
Can you combine zswap with regular swap, like a swap device or swap file?
Zswap always(?) uses a swap file or disk partition. It does a smart job using both compressed memory and disk space as swap
zRam does not use disk. Do not attempt combining zRam with any kind of swap on disk, it's a horrible combination
Oh okay, so zswap actually requires a swap file or device? Or just uses it if available?
I think it might require it, but I've never tried it without.
Thanks for all your info, friend. I appreciate it.
To me the compression sounds like it would increase RAM (virtually speaking), without hitting performance too much. Otherwise it would use the SSD and io is generally much slower than RAM operations (and compression, decompression in memory only if its fast like this one). When I understand the benefit correctly.
Yeah I think I understand, too. You're increasing the swapping by introducing an area in RAM that is no longer usable as regular RAM, but you're also compressing, which "increases" the available RAM, so to speak. π At the cost of CPU of course.