I believe there’s a language or terminology barrier and the user is really referring to a swap file versus swap partition. Swap files are much more flexible.
So, swap is when the computer writes used memory to slow, long term storage because of memory pressure.
Cache is when the OS sticks random bits of files into unused memory to they can be used faster.
Using swap is a sign you need more ram. Using cache is harmless, and the OS will try to fill all free memory with cached files, because worst case scenario there’s no cost.
Using swap isn’t always a sign you need more RAM. Typically, if you use a computer for a while or have a lot of IO operations going on, Linux will decide to swap some things to make more room for cache.
Sometimes Linux just finds that you have a bunch of inactive app memory and it can swap that out to cache way more stuff. That’s just good memory management, but it’s not worth buying more RAM over
That’s totally fair. Most of my “caring about swap” time is when I was managing servers, and so you wouldn’t have inactive apps to get swapped out, thus swap usage was a sign that you needed to get a new server and put down the old one.
Turns out I don’t monitor my home computer the way I monitor the work ones. :)
This. Also most of what you read online about swap is just plain wrong. Tons of people will tell you to reduce swappiness to 1 or just to not use swap at all. It’s crazy how many people have no idea about how it actually works. I do include myself here. I just use a large zram disk so systemd-oom won’t get tripped when 3d rendering. That’s all I need to know.
I prefer swap files over swap partitions, because it makes it my partition layout simpler to manage.
If your using a swap partition, make sure it’s located on an encrypted partition, else it exposes data stored in RAM (encryption keys etc). With SSD’s it’s difficult to make sure this data is actually deleted, even after overwriting.
My preferred setup for a long time was LUKS with btrfs on top. Then subvolumes for /, /home and the swap file (+ /var/cache, /var/log etc.). This gives me peace of mind nothing is unencrypted except /boot.
Nowadays I simply use zram, which allows for a small part of RAM to be compressed for swap. It’s great, simple to setup and performs well. Imo it should be default for all desktops.
I keep hitting the cache on my 32gb laptop. So yeah, I’m using it.
But I made the dumb mistake of using a swap partition instead of a swap file
What are the differences between swap a cache file? Why do you prefer the last one?
I believe there’s a language or terminology barrier and the user is really referring to a swap file versus swap partition. Swap files are much more flexible.
So, swap is when the computer writes used memory to slow, long term storage because of memory pressure.
Cache is when the OS sticks random bits of files into unused memory to they can be used faster.
Using swap is a sign you need more ram. Using cache is harmless, and the OS will try to fill all free memory with cached files, because worst case scenario there’s no cost.
Using swap isn’t always a sign you need more RAM. Typically, if you use a computer for a while or have a lot of IO operations going on, Linux will decide to swap some things to make more room for cache.
Sometimes Linux just finds that you have a bunch of inactive app memory and it can swap that out to cache way more stuff. That’s just good memory management, but it’s not worth buying more RAM over
That’s totally fair. Most of my “caring about swap” time is when I was managing servers, and so you wouldn’t have inactive apps to get swapped out, thus swap usage was a sign that you needed to get a new server and put down the old one.
Turns out I don’t monitor my home computer the way I monitor the work ones. :)
This. Also most of what you read online about swap is just plain wrong. Tons of people will tell you to reduce swappiness to 1 or just to not use swap at all. It’s crazy how many people have no idea about how it actually works. I do include myself here. I just use a large zram disk so systemd-oom won’t get tripped when 3d rendering. That’s all I need to know.
Another reason for going with a swap file vs partition (if you need either) are nvme and SSD drives.
A partition that’s only a few GB and written to constantly will wear out a solid state drive quickly.
Using a swap file in a larger partition that has other data allows the drive to even out the wear across more storage cells.
I prefer swap files over swap partitions, because it makes it my partition layout simpler to manage.
If your using a swap partition, make sure it’s located on an encrypted partition, else it exposes data stored in RAM (encryption keys etc). With SSD’s it’s difficult to make sure this data is actually deleted, even after overwriting.
My preferred setup for a long time was LUKS with btrfs on top. Then subvolumes for
/
,/home
and the swap file (+ /var/cache, /var/log etc.). This gives me peace of mind nothing is unencrypted except /boot.Nowadays I simply use zram, which allows for a small part of RAM to be compressed for swap. It’s great, simple to setup and performs well. Imo it should be default for all desktops.
“zram swap would like to talk with you”
Should be an easy fix, remove the partition, extend your root partition, create swap file. Profit?
True, but the swap partition is before the root partition, so I need to see if it doesn’t break things with btrfs.
And secondly… I just need the motivation to do it. It’s working good enough™ for now, and I do plan on distro hopping to NixOS soon so… Later.
What is a cache file?
Typo. Meant swap file