As most have pointed, the “always 2x” rule doesn’t have that much of relevance in 2023 as most computers now has more than 4GB of RAM. I would only use that much of a swap when using a low hardware.
For desktop, I would never go swapless, though. In the event of memory pressure, swap would still help in that situation so that OOM Killer do not kick off and unintentionally kill my working process. Plus it helps that Linux can move the least used data to the swap and use the RAM for filesystem cache.
So my rule of thumb, for desktop:
If RAM < 8GB: Swap == 2x RAM
If RAM => 8GB: Swap == 1x RAM
For servers, I think it depends on the workload. I keep a small amount, like probably 50% of RAM or less. But for stuff like Redis, it doesn’t make sense to have swap. You want to ensure that everything is in the memory.
As most have pointed, the “always 2x” rule doesn’t have that much of relevance in 2023 as most computers now has more than 4GB of RAM. I would only use that much of a swap when using a low hardware.
For desktop, I would never go swapless, though. In the event of memory pressure, swap would still help in that situation so that OOM Killer do not kick off and unintentionally kill my working process. Plus it helps that Linux can move the least used data to the swap and use the RAM for filesystem cache.
So my rule of thumb, for desktop: If RAM < 8GB: Swap == 2x RAM If RAM => 8GB: Swap == 1x RAM
For servers, I think it depends on the workload. I keep a small amount, like probably 50% of RAM or less. But for stuff like Redis, it doesn’t make sense to have swap. You want to ensure that everything is in the memory.
This was pretty much on point.
I would add not using swap for hypervisors and virtual servers as that can cause noisy neighbor issues and tend to increase iowait pressure.
Yea my server is running 128GB of RAM, no way I’m making 256GB of swap.
Yeah, on servers low swap and an alert on available ram so I know if things are getting snurgly.