Shit did I botch it? I made this on my phone and the toot I copied the script from was just text. Wanted to make it look more interesting so I found this site that let you make the windows. I just went with what I thought looked best.
There are good use cases for swap. I work with very performance sensitive memory hogging applications that tend to process in bursts as incoming batched data arrives. We also have a lot of required background “security” applications.
Having the idle applications move out to swap so that a significant amount of free RAM to allow for the active, real-time applications to expand into is a major boon. RAM is expensive now, so it’s become even more critical to not waste it.
But even in self-hosting at home I take advantage of it since I have a limited number of servers with limited RAM and a bunch of applications and/or docker containers running, many of which don’t need to be active at all times, but if they were all active, would have trouble with the limited RAM. Swap allows for inactive applications to free up RAM for the active ones and leave enough available at all times to allow an application to quickly spin up new jobs.
Anyway, sure, for a simple desktop computer without a bunch of junk background applications running for “security” or whatever, and an overabundance of RAM installed, it’s probably not useful. But for high performance, memory hungry applications with lots of background stuff running, it can be a big help.
That said, there are use cases where the opposite is useful and using a RAM drive is better than writing to disk for cache and temporary logs when you have enough RAM. My opnsense router for instance uses a RAM drive to store cache and logs (logs are mirrored to the NAS for long term storage, so just the local copy is lost on reboot). That system has enough RAM and I’d rather reduce disk wear, and I don’t plan to add too many other applications to that server that it would run low.
I also found it useful to do some one-off batch processing of a big file without thinking of chunking and doing too complicated things. Imagine something like a 60GB file in a custom format that need to be deduplicated. It’s easier to just load it all up in memory and do run the algorithm 2-3x slower using a 50GB swapfile than spend hours to complicate the algorithm.
Yep. That’s why it can be nice to just have like an old 1TB drive completely used for swap. Things might get slow once it exceeds your physical memory, but at least it will eventually finish successfully – no out of memory crashes here!
I used to be this guy. We have huge amount of memory in our storage server. Why would we need swap? Well, once the system started killing programs I read up on swap and how the system handles its caches, especially ZFS ARC.
Short version is that while the system can evict its caches syncronously, it can only async notify ZFS that it should also shrink its caches, but the out-of-memory killer will start killing before ZFS and its kernel counterpart can start to free up memory.
A tiny bit of swap completely solved this, since swapping is sync for the kernel and the OOM killer will wait for it.
As well as oom situations, swapping allows the memory to be used more effectively by swapping out anonymous pages that aren’t likely to be used but can’t be dropped.
I found that with swap the applications would slow to a crawl and then basically lock up entirely until I hauled my ass over and manually power cycled the machine.
Just the use that your old 64GB SSDs were waiting for!
(Fun fact: in Linux, if you have multiple swap partitions mounted, the kernel will automatically use striping (like RAID) in order to read and write from them as fast as possible. If you have multiple small SSDs used for swap, the read/write speed from swap can actually become pretty fast.)
Generally it only happens to programs you keep running in the background and might not use for a long time that also don’t have much background activity. For example password managers.
It depends on what you set your swappiness to, too. I think Linux distros still have pretty aggressive defaults that swap more than they probably need to.
I have taken a couple classes in Linux centric forensics and one of the things I often wandered about is if there is an easy way to add jitter or shift individual file blocks by a word (64 bits) or even half the size of a data block. Say every two hours shift up or down so attempts to read a mechanical hard drive would be chaotic.
I do the same and use ugrd. I think dracut would also work.
You just set the resume kernel parameter to the decrypted memory device with the swapfile offset.
As long as the initrd attempts a resume after it decrypted all volumes it’ll work, and the initrd doesn’t even need to understand why and what was resumed from
It’s doable with a swap file instead. But some filesystems are more supportive than others.
For example BTRFS doesn’t support swapfiles over multiple devices (so my raid1c3 spanning 3 differently sized disks for example) and also swapfiles must be completely pre-allocated.
And no matter the filesystem you need to manually tell the kernel device and physical offset for the file via kernel parameters. Which can again be easier on some than on others (also causing the no-multiple-device filesystem problem mentioned above.
btrfs’s handling makes sense. The kernel talks to the disk directly, the file is just a pointer for what range it uses, and a placeholder for the filesystem. Something like raid, balancing, cow, all won’t work because the kernel doesn’t even go through btrfs to change the swap"file".
If you want a proper file as swapfile, with the corresponding overhead, you can make a regular file and mount it via loopback then use it as a swap device.
I do, yeah. Since I’m already partitioning by hand to put /home on a different drive, better use the saved space on the NVME for a small amount of guaranteed swap while I’m at it.
that’s what trixie’s netinst defaults to when i set up new desktops using encrypted lvm… root and swap volumes inside that, unlocking together at boot. my use doesn’t hit swap much, so it’s nbd. i just leave it like it is. only where an installer doesn’t support encrypted swap partitions do i use a file or ram-based swap instead.
It’s not as bad with LVM since LVM is more flexible. A swap file does still make it easier to change the size as needed though. If you need more swap, you can spin up a new swap file pretty much instantly while the system is running, without having to repartition. You can have both a swap partition and a swap file active at the same time though.
On systems where the data is encrypted, also encrypting the swap makes sense so I’m glad Debian does that.
I don’t recall that, but IIRC it does need to be a minimum of installed RAM if you want to be able to hibernate, since then you write out the contents of your memory to swap. That makes having at least as much swap as RAM a good rule of thumb for many systems.
IIRC kernel crash dumps also make use of swap in a similar way, though I assume that in most sane scenarios, it’s not going to actually require as much swap as physical memory, because you won’t have all of your physical memory allocated to the kernel.
On non-exotic Linux systems, I always make sure to have more swap than physical RAM.
I don’t recall that, but IIRC it does need to be a minimum of installed RAM if you want to be able to hibernate, since then you write out the contents of your memory to swap.
IF RAM used + swap used don’t exceed total swap space. Yeah, sometimes I run into that. Usually solved by killing webbrowsers, which suggests that most of the swap space is filled with unused webpages…
Classically the swap partition was located at the physical middle of the drive so that on average, no matter where the heads where, the swap partition wasn’t far away
Everyone defending swap like crazy in the comments… so let me give a counter argument specifically for desktop:
Many years ago I stopped using swap on all my computers (I exclusively use linux) and the reason is: every time anything regarding interactivity went to swap, my system would freeze and literally become unusable for a really long time until I killed something. Since I got tired if that behaviour I decided I prefer for random shit to die but my computer still be usable.
It wasn’t very often, but I don’t get OOM killer often either (as in I don’t remember the last time it happened and I use linux every day for both work and fun), and the freezing situation was way more annoying, to the point I sometimes ended up cold switching off the computer. I’m surprised on how many people run out of memory constantly. I guess you all are just using linux for servers and have crazy processing of infinite data…
yep it was HDD, but with the low amount of times I have any OOM issue, I’m way more worried about NVMe flash burning than a random process being killed once every blue moon.
In fact I didn’t mention, but since the advent of flash drives what I’ve done is trying to locate heavy disk writing apps and find alternatives for them, amid disabling many logs.
For swap, it hunts me to think some automatic process I don’t have control over will burn those sweet erase cycles without me noticing just because someone programmed it poorly. I’m way more happy knowing I have some control over it.
Building a PC in 2026 be like "I cant afford RAM, but I can use a whole TB hard disk I shucked from an old WD external as swap and maybe my PC will feel modern"
I only wanted a LineageOS boot image built. The recommended specs list 64GiB RAM. Figured wouldn’t apply to me until I tried to build a target literally called “nothing”. It just used up all of the RAM and OOMed about 2 minutes in, building the “build cache” or whatever the fuck it needs to do to “warm up”.
After a few fucktons of swapspace, turning off some of my daemons, some sysctl fuckery (there were options for limiting process virtual memory size IIRC? I put it all the way up) and taskset -p 0-15:1 (use logical CPUs 0, 2, 4…), I had my laptop allocating 50 something GiB. I have 16GB (decimal) physical RAM installed and I consider that already way too much for my usual needs.
After about half an hour of the build system build systeming, it just stopped doing that then built the kernel in 4 minutes with everything else in some time too.
Yes, I have tried just running make directly. That just resulted in an image that did nothing but toggle on and off an empty (no percentage) charging circle via power button.
I actually did this for a laugh a very, very long time ago. I had upgraded my 75MHz Pentium machine from 8MB to a whopping 40MB, so since I knew it would run fine with just 8, I installed a TSR RAMdisk and told Windows 3.1 to put its swap on that drive.
It worked great, but I decided I'd rather use the memory for other things.
But in more modern times, I've literally forced browser caches into memory-based tmpfs to take the load off system disks, which is basically the same thing. And it reduces wear on my hardware.
Definitely configure swap, but I don’t think there is much benefit of a swap partition over a swap file these days and swap files are trivial to configure.
I basically never used swap until I used some script that was supposed to de-duplicate text messages from SMS backups.
Turns out feeding it a 100,000 message archive spanning back 15 years will somehow eat up ~80GB of RAM. I doubt it should, I guess it probably just wasn’t optimized for such a large amount.
My built-in Devil’s Advocate has to ask if that’s really true? Have you got a citation newer than 2 decades old? Frankly, i find it difficult to believe that anyone wouldn’t like to use electron software, for the simple reason that making your SSD suffer is fun.
Edit: in 30 years of administering Linux and (previously) Solaris sytems i’ve never once had to change HDDs or SSDs, so claims of torture are, i opine, exaggerated. i’ll also claim that keeping electron software out of the filesystem is not good for your hygiene.
That’s some really great luck you have, over the 15 years or so I have been running my Linux server I have had to replace the SSD twice(likely due to gentoo and compiling everything all the time) and had 2 hdds in my raid cluster need replacement. Here’s hoping my NAS has your luck
To be clear: what i wrote is not actually something real, it was a joke i made by modifying a comment from a thread on github gist, i am actually surprised it wad credible enough that someone would reply seriously xD
Definitely bit the onion on this one, it did seem remarkable lol though I just pulled a 16 year old drive out of my Son’s PC(that was technically still working however slowly) hence the semi plausibility on my end lol
Yeah it was to the point that Samsung doesn’t even admit to have made this drive on their website anywhere, I pulled the drive and was like wtf Samsung rust? I almost exclusively bought western digital in recent memory so was a surprise, had to do some digging to decode the manufacturing codes to identify the manufacturing date
I manage a cluster that makes heavy use of SSDs in RAID10 configuration. Those things are constantly degrading and having to be swapped out. I’ve started a drawer of faulted drives that I don’t have the heart you throw out.
Saving ram to swap can be done with minimal impact. Helpful when you run out of memory and that 2gb app idling can be dumped right away instead of waiting for it to be copied to swap.
but that’s not what’s happening. processes do actually get removed from RAM, and when they are needed they are very slow until they are loaded back. the system thinks it’s more valuable to have that memory be filesystem cache
programs were slow, and I had my system on an SSD. I was seeing 100% utilization in task manager on the drive of the swap file when I was experiencing the slowdown.
If you(or your distro) use zram then the zram usage may also count as swap in resource monitors. For me this was the case when i saw swap usage where it is clearly not needed to swap. You can check it with swapon commands.
Other reason is that more frequently accesed files may be cached to ram and less important stuff gets swapped. But if you notice swap being used while total ram usage including cached is much lower than total, then its probably zram(and it does write to disk so dont worry about that)
Then what is the setup if my computer only has 4GB of memory for daily driving? Just curious because swap partitions are what I normally do on limited resource machines.
Dunno how well zswap handles at that size, but the point is that is compresses swap into RAM, so it would use a max of 819.2M for a total of 2457.6M of swap space. If you need more, then by all means, use a swap file or partition lol.
Actually linux easily supports multiple and tiered swap mounts, so you could even go zswap + ssd swap + hdd swap, or a cheapo “burn at your own risk” usb flash swap lol.
so it would use a max of 819.2M for a total of 2457.6M of swap space.
calling it total is a bit of a stretch. that’s the best case scenario, when the contents compress well.
also, zswap might not be a good idea on that system. if it only has 4 GB RAM, it likely has a CPU tht is slower and has only a couple cores, and the modern web is cpu heavy enough as it is
Eh, it’s fine. That’s what I do with 4 GB RAM as well. However even though I set 8 GB swap on that machine I noticed it’s hardly using the half of it at most. (Using Void Linux)
I’ve had my computer crash trying to open or save a pdf once because it used up all the RAM space (16gb) and then used up the small swap (probably like 10gb?) and I guess some critical processes I guess just got told “no.” Seems wild to me that Windows would just crash before it told a pdf it couldn’t use over 20gb of memory.
Used a website to make the windows since I was on mobile. Thought it looked too plain w/o the window decorations, but yeah. I mean there’s so many distros and themes, who’s to say it couldn’t be Linux. I’ve seen KDE reskinned to look like OSX
The trick is to first create a RAM disk. Then put the swap file on there and it’s about as fast as RAM. Then, with the new memory you have created, make another RAM disk. Yep, then make more swap space on there.
I have solved both the memory and SSD availability issues with this infinite RAM and disk space trick.
Have a PC with 16gb ram that lives up to the overwatch game system reqs. When I installed it and launched it, it began building some sort of cache. A one time job. During that chache my os would force close steam to prevent an oom crash. I then added 16gb swap and during the owerwatch cache job the used phys ram would max out at 12gb I think and the swap sent up to 10gb. So a 22gb ram job. Yikes. Thanks swap ram 👍
Swap is there an emergency relief for when a runaway process starts to eat all the resources. The system gets slow the user says hey what’s that? They look and see oh wow this one process is really eating a lot of resources that’s bad, can I kill it or do I need to gracefully try to shut it down. Swap buys you time when it could matter. When you don’t have swap OOM killer takes out whatever it wants and for a desktop user that may not be that big of a deal but for a server the database is likely the first target that is taken out.
you misunderstand the meme (of course it doesn’t help either); because the alternative isn’t “no swap”, but rather “use a swap file instead of swap partition”
Hrmm. How does that change the SSD problem if you are using a file on the SSD? I reread the meme. Maybe I’m too blurry eyed still but I don’t see that coming through.
I have a small home server that I occasionally push through huge batch processing jobs. During the pushes, I might collide with other projects that use a pretty big chunk of the RAM. So, to make sure it’s never a killer (just a major slow down), I made a 32GB swap file. If I need it, it’s there and disk is hella cheap.
This machine has never had a GUI installed. No browsers to complain about, just plain old data processing, stats models, and old skool computing.
Now, my worst case scenario was building a C++ program on a raspberry pi gen 1. That has 256MB of RAM. g++ ran out building, so I NFS mounted a huge disk from my desktop machine and made the swap file there. The build took a while… but the program ran fine after the week long build, no swap needed.
unfortunately with S0ix being forced on all modern laptops, zram is the only logical choice. With s3 sleep at least i can say i need swap because i need hibernation…With S0ix? Dont bother.
I dislike swap solely because it gets used and when I accidentally open the same file twice then I regularly encounter problems with swap files when opening the file again later.
Maybe stop giving a shit what I do with my partions? 🤷 Mine is definitely to try and make hibernate work on a shitty old laptop that’ll drain the battery if I let it sleep and unplug it.
> linuxmemes
> macos screenshot
ಠ_ಠ
Shit did I botch it? I made this on my phone and the toot I copied the script from was just text. Wanted to make it look more interesting so I found this site that let you make the windows. I just went with what I thought looked best.
That makes it funnier ngl
Is this tongue in cheek i swear I cannot tell any longer.
Some swap is beneficial
It’s based on a common meme template. Yeah it’s tongue in cheek and I guess a lot of commenters can’t tell given this is a memes comm
Like a lot of memes, they exaggerate for humor. This meme was originally about math.
I hope the phone is running PostmarketOS ;)
TBH I’m sure you could configure a linux terminal to look like that, but yeah it looks very default macos to me
Idk. KDE has themes like this but yeah I get it
i’m sure someone has made a KDE theme or a Gnome theme that replicates MacOS, let’s pretend that’s what’s happened.
I mean… ElementryOS exists.
There are good use cases for swap. I work with very performance sensitive memory hogging applications that tend to process in bursts as incoming batched data arrives. We also have a lot of required background “security” applications.
Having the idle applications move out to swap so that a significant amount of free RAM to allow for the active, real-time applications to expand into is a major boon. RAM is expensive now, so it’s become even more critical to not waste it.
But even in self-hosting at home I take advantage of it since I have a limited number of servers with limited RAM and a bunch of applications and/or docker containers running, many of which don’t need to be active at all times, but if they were all active, would have trouble with the limited RAM. Swap allows for inactive applications to free up RAM for the active ones and leave enough available at all times to allow an application to quickly spin up new jobs.
Anyway, sure, for a simple desktop computer without a bunch of junk background applications running for “security” or whatever, and an overabundance of RAM installed, it’s probably not useful. But for high performance, memory hungry applications with lots of background stuff running, it can be a big help.
That said, there are use cases where the opposite is useful and using a RAM drive is better than writing to disk for cache and temporary logs when you have enough RAM. My opnsense router for instance uses a RAM drive to store cache and logs (logs are mirrored to the NAS for long term storage, so just the local copy is lost on reboot). That system has enough RAM and I’d rather reduce disk wear, and I don’t plan to add too many other applications to that server that it would run low.
Its a meme built on stuff like this:
gist.github.com/…/c4960cec9c63a7b7d68ffa9543356c4…
I also found it useful to do some one-off batch processing of a big file without thinking of chunking and doing too complicated things. Imagine something like a 60GB file in a custom format that need to be deduplicated. It’s easier to just load it all up in memory and do run the algorithm 2-3x slower using a 50GB swapfile than spend hours to complicate the algorithm.
Yep. That’s why it can be nice to just have like an old 1TB drive completely used for swap. Things might get slow once it exceeds your physical memory, but at least it will eventually finish successfully – no out of memory crashes here!
I used to be this guy. We have huge amount of memory in our storage server. Why would we need swap? Well, once the system started killing programs I read up on swap and how the system handles its caches, especially ZFS ARC.
Short version is that while the system can evict its caches syncronously, it can only async notify ZFS that it should also shrink its caches, but the out-of-memory killer will start killing before ZFS and its kernel counterpart can start to free up memory.
A tiny bit of swap completely solved this, since swapping is sync for the kernel and the OOM killer will wait for it.
As well as oom situations, swapping allows the memory to be used more effectively by swapping out anonymous pages that aren’t likely to be used but can’t be dropped.
I found that with swap the applications would slow to a crawl and then basically lock up entirely until I hauled my ass over and manually power cycled the machine.
I sometimes cannot do hibernate when I did a scrub on my ZFS. But the first try always frees up the swap and so the second attempts works every time.
Yes, swap partitions are shit.
The real hotness is swap drives.
Just the use that your old 64GB SSDs were waiting for!
(Fun fact: in Linux, if you have multiple swap partitions mounted, the kernel will automatically use striping (like RAID) in order to read and write from them as fast as possible. If you have multiple small SSDs used for swap, the read/write speed from swap can actually become pretty fast.)
do you encrypt your swap drive? would this work with LUKS?
It works fine. The only partition that needs to be unencrypted on a modern hardrive is the esp/boot partition.
I do not. No idea how this interacts with swap encryption.
People still use swap partitions instead of swap files?
This. Swap files on LUKS encrypted partition. Also, the swapspace daemon!
I’ve seen so many setups where people encrypt their data but forget to encrypt their swap.
what’s the problem? it’s not like you dump the entire contents of your system’s ram to disk any time use hibernate /s
Even without hibernation, data in apps you have open will end up in the swap if your system is ever RAM-constrained.
Generally it only happens to programs you keep running in the background and might not use for a long time that also don’t have much background activity. For example password managers.
It depends on what you set your swappiness to, too. I think Linux distros still have pretty aggressive defaults that swap more than they probably need to.
I have taken a couple classes in Linux centric forensics and one of the things I often wandered about is if there is an easy way to add jitter or shift individual file blocks by a word (64 bits) or even half the size of a data block. Say every two hours shift up or down so attempts to read a mechanical hard drive would be chaotic.
Don’t you need swap partitions to be able to use hibernation?
Nope, I hibernate with a swap file and it’s in a LUKS partition. Although IIRC that whole setup requires me to use systemd boot.
I do the same and use ugrd. I think dracut would also work.
You just set the resume kernel parameter to the decrypted memory device with the swapfile offset.
As long as the initrd attempts a resume after it decrypted all volumes it’ll work, and the initrd doesn’t even need to understand why and what was resumed from
Nah, you can use
resume_offsetinstead.Here’s an example: forum.endeavouros.com/t/…/2
I don’t think it’s needed anymore, afaik filesystem drivers are supposed to tell the kernel automagically
It’s doable with a swap file instead. But some filesystems are more supportive than others.
For example BTRFS doesn’t support swapfiles over multiple devices (so my raid1c3 spanning 3 differently sized disks for example) and also swapfiles must be completely pre-allocated.
And no matter the filesystem you need to manually tell the kernel device and physical offset for the file via kernel parameters. Which can again be easier on some than on others (also causing the no-multiple-device filesystem problem mentioned above.
btrfs’s handling makes sense. The kernel talks to the disk directly, the file is just a pointer for what range it uses, and a placeholder for the filesystem. Something like raid, balancing, cow, all won’t work because the kernel doesn’t even go through btrfs to change the swap"file".
If you want a proper file as swapfile, with the corresponding overhead, you can make a regular file and mount it via loopback then use it as a swap device.
I don’t use hibernation so I’m not sure.
So you shut your pc down like a caveman when you do hardware upgrades or repairs or move apartments?
Yeah I shut down every day. It boots up fast enough that it’s really not an issue.
Been using a swap file in a luks partition for years. I hibernate very regularly.
I do, yeah. Since I’m already partitioning by hand to put /home on a different drive, better use the saved space on the NVME for a small amount of guaranteed swap while I’m at it.
that’s what trixie’s netinst defaults to when i set up new desktops using encrypted lvm… root and swap volumes inside that, unlocking together at boot. my use doesn’t hit swap much, so it’s nbd. i just leave it like it is. only where an installer doesn’t support encrypted swap partitions do i use a file or ram-based swap instead.
It’s not as bad with LVM since LVM is more flexible. A swap file does still make it easier to change the size as needed though. If you need more swap, you can spin up a new swap file pretty much instantly while the system is running, without having to repartition. You can have both a swap partition and a swap file active at the same time though.
On systems where the data is encrypted, also encrypting the swap makes sense so I’m glad Debian does that.
All I know is that I had 16GB RAM and 4GB swap and I used to get crashes sometimes.
Set that fucker to 32GB out of spite, now no crashes. No idea why that helped. But I guess I do have like 15 tabs open on the regular (web dev)
15 tabs? Those are rookie numbers. Unless you mean “before 8:07 Monday morning”.
browsers offload inactive tabs from memory anyway, unless you’re actively switching among 15+ tabs, they won’t be using as much ram
what if you never restart the browser though?
I close my browser before hibernating; more lifetime for my SSD that way and it is faster, too.
fr. I’m over here with like 30+ tabs open. I should definitely trim these..
Historically swap needed to be a minimum of installed ram.
I don’t recall that, but IIRC it does need to be a minimum of installed RAM if you want to be able to hibernate, since then you write out the contents of your memory to swap. That makes having at least as much swap as RAM a good rule of thumb for many systems.
IIRC kernel crash dumps also make use of swap in a similar way, though I assume that in most sane scenarios, it’s not going to actually require as much swap as physical memory, because you won’t have all of your physical memory allocated to the kernel.
On non-exotic Linux systems, I always make sure to have more swap than physical RAM.
I use 1.5-2x the swap on new installations these days. I want hibernate to always work.
I use the same, but I think to be super conservative It should be 1.5x + VRAM
IF RAM used + swap used don’t exceed total swap space. Yeah, sometimes I run into that. Usually solved by killing webbrowsers, which suggests that most of the swap space is filled with unused webpages…
“Unresizeable block device at end of disk”
Classically the swap partition was located at the physical middle of the drive so that on average, no matter where the heads where, the swap partition wasn’t far away
Also “unresizeable” as if you can’t just swapoff and just delete and recreated it anywhere (update the path in fstab) and then swapon again.
“I’m not a friggin bear, I don’t hibernate!”
Everyone defending swap like crazy in the comments… so let me give a counter argument specifically for desktop:
Many years ago I stopped using swap on all my computers (I exclusively use linux) and the reason is: every time anything regarding interactivity went to swap, my system would freeze and literally become unusable for a really long time until I killed something. Since I got tired if that behaviour I decided I prefer for random shit to die but my computer still be usable.
It wasn’t very often, but I don’t get OOM killer often either (as in I don’t remember the last time it happened and I use linux every day for both work and fun), and the freezing situation was way more annoying, to the point I sometimes ended up cold switching off the computer. I’m surprised on how many people run out of memory constantly. I guess you all are just using linux for servers and have crazy processing of infinite data…
Were you using a HDD for swap? It’s nearly unnoticeable on an NVMe drive.
yep it was HDD, but with the low amount of times I have any OOM issue, I’m way more worried about NVMe flash burning than a random process being killed once every blue moon.
In fact I didn’t mention, but since the advent of flash drives what I’ve done is trying to locate heavy disk writing apps and find alternatives for them, amid disabling many logs.
For swap, it hunts me to think some automatic process I don’t have control over will burn those sweet erase cycles without me noticing just because someone programmed it poorly. I’m way more happy knowing I have some control over it.
Or shotcut. I once ran it on 8GB, minimal arch with no swap. Well.
And I’m not even trying to build android on my new relatively modern laptop. It won’t work.
Building a PC in 2026 be like "I cant afford RAM, but I can use a whole TB hard disk I shucked from an old WD external as swap and maybe my PC will feel modern"
swapfile gang
.rw------- root root 4.0 GB Mon Jun 1 04:10:37 2026 /var/swapDo you hibernate? 🐻
No, I have a 13-second boot time
Bah, 56 seconds ought to be enough for anyone
SWAP RAM is useful for hibernation mode and fall back ram incase you have low memory.
Also for when you, for whatever reason, run out of physical memory.
Who here worries torturing their SSDs? Those things will last lifetimes compared to HDD’s of the past (or present).
also in case you have too many electron shits open
Once tortured myself with having to go through…
The Android build system. Booo, scary.
I only wanted a LineageOS boot image built. The recommended specs list 64GiB RAM. Figured wouldn’t apply to me until I tried to build a target literally called “nothing”. It just used up all of the RAM and OOMed about 2 minutes in, building the “build cache” or whatever the fuck it needs to do to “warm up”.
After a few fucktons of swapspace, turning off some of my daemons, some sysctl fuckery (there were options for limiting process virtual memory size IIRC? I put it all the way up) and
taskset -p 0-15:1(use logical CPUs 0, 2, 4…), I had my laptop allocating 50 something GiB. I have 16GB (decimal) physical RAM installed and I consider that already way too much for my usual needs.After about half an hour of the build system build systeming, it just stopped doing that then built the kernel in 4 minutes with everything else in some time too.
Yes, I have tried just running make directly. That just resulted in an image that did nothing but toggle on and off an empty (no percentage) charging circle via power button.
Swap and zram saved my R and Python Dana analysis script a couple of times.
I init a ramdisk and put a swap file there and call it L4 cache
I actually did this for a laugh a very, very long time ago. I had upgraded my 75MHz Pentium machine from 8MB to a whopping 40MB, so since I knew it would run fine with just 8, I installed a TSR RAMdisk and told Windows 3.1 to put its swap on that drive.
It worked great, but I decided I'd rather use the memory for other things.
But in more modern times, I've literally forced browser caches into memory-based tmpfs to take the load off system disks, which is basically the same thing. And it reduces wear on my hardware.
64 GB are $1000 so maybe not
Definitely configure swap, but I don’t think there is much benefit of a swap partition over a swap file these days and swap files are trivial to configure.
I basically never used swap until I used some script that was supposed to de-duplicate text messages from SMS backups.
Turns out feeding it a 100,000 message archive spanning back 15 years will somehow eat up ~80GB of RAM. I doubt it should, I guess it probably just wasn’t optimized for such a large amount.
So I made a 64GB swap file and it completed fine.
Not everything should work from ram. This is why we stream files for processing.
The backup itself was only ~8gb.
My built-in Devil’s Advocate has to ask if that’s really true? Have you got a citation newer than 2 decades old? Frankly, i find it difficult to believe that anyone wouldn’t like to use electron software, for the simple reason that making your SSD suffer is fun.
Edit: in 30 years of administering Linux and (previously) Solaris sytems i’ve never once had to change HDDs or SSDs, so claims of torture are, i opine, exaggerated. i’ll also claim that keeping electron software out of the filesystem is not good for your hygiene.
That’s some really great luck you have, over the 15 years or so I have been running my Linux server I have had to replace the SSD twice(likely due to gentoo and compiling everything all the time) and had 2 hdds in my raid cluster need replacement. Here’s hoping my NAS has your luck
To be clear: what i wrote is not actually something real, it was a joke i made by modifying a comment from a thread on github gist, i am actually surprised it wad credible enough that someone would reply seriously xD
gist.github.com/…/c4960cec9c63a7b7d68ffa9543356c4…
Definitely bit the onion on this one, it did seem remarkable lol though I just pulled a 16 year old drive out of my Son’s PC(that was technically still working however slowly) hence the semi plausibility on my end lol
lmao, 16 years is a lot! That drive can drive
Yeah it was to the point that Samsung doesn’t even admit to have made this drive on their website anywhere, I pulled the drive and was like wtf Samsung rust? I almost exclusively bought western digital in recent memory so was a surprise, had to do some digging to decode the manufacturing codes to identify the manufacturing date
I manage a cluster that makes heavy use of SSDs in RAID10 configuration. Those things are constantly degrading and having to be swapped out. I’ve started a drawer of faulted drives that I don’t have the heart you throw out.
Also, while Linux does run without Swap, it’s like running gears without grease.
Can anyone tell me why I see swap usage with 10+GB of free RAM available?
Saving ram to swap can be done with minimal impact. Helpful when you run out of memory and that 2gb app idling can be dumped right away instead of waiting for it to be copied to swap.
but that’s not what’s happening. processes do actually get removed from RAM, and when they are needed they are very slow until they are loaded back. the system thinks it’s more valuable to have that memory be filesystem cache
If true then Linux is a decade behind windows and macOS.
tbh windows was doing this very aggressively on my system, it was swapping like a mad man right when memory usage reached 50%
Doubt. It might be copying to swap, but not reading from it.
programs were slow, and I had my system on an SSD. I was seeing 100% utilization in task manager on the drive of the swap file when I was experiencing the slowdown.
Swappiness set to over 9000!
Because you just taught your computer how to be lazy. “oH lOoK aT mE i’M sWaP mEmOrY”
If you(or your distro) use zram then the zram usage may also count as swap in resource monitors. For me this was the case when i saw swap usage where it is clearly not needed to swap. You can check it with
swaponcommands.Other reason is that more frequently accesed files may be cached to ram and less important stuff gets swapped. But if you notice swap being used while total ram usage including cached is much lower than total, then its probably zram(and it does write to disk so dont worry about that)
ACPI S4 Hibernation would like to have a word with you
Then what is the setup if my computer only has 4GB of memory for daily driving? Just curious because swap partitions are what I normally do on limited resource machines.
Dunno how well zswap handles at that size, but the point is that is compresses swap into RAM, so it would use a max of 819.2M for a total of 2457.6M of swap space. If you need more, then by all means, use a swap file or partition lol.
Actually linux easily supports multiple and tiered swap mounts, so you could even go zswap + ssd swap + hdd swap, or a cheapo “burn at your own risk” usb flash swap lol.
That is pretty cool. Did not know that. Will still be keeping my partition because it works fine for me.
calling it total is a bit of a stretch. that’s the best case scenario, when the contents compress well.
also, zswap might not be a good idea on that system. if it only has 4 GB RAM, it likely has a CPU tht is slower and has only a couple cores, and the modern web is cpu heavy enough as it is
Eh, it’s fine. That’s what I do with 4 GB RAM as well. However even though I set 8 GB swap on that machine I noticed it’s hardly using the half of it at most. (Using Void Linux)
I’ve had my computer crash trying to open or save a pdf once because it used up all the RAM space (16gb) and then used up the small swap (probably like 10gb?) and I guess some critical processes I guess just got told “no.” Seems wild to me that Windows would just crash before it told a pdf it couldn’t use over 20gb of memory.
I don’t really need swap until I need to compile blender… Need somewhere around 64Gb (with compression) to deal with the peaks
Real Linux users do not use MacOS window decorations in their graphics.
;)
Real real Linux users use whatever the hell they want.
right real linux user do everything in the tty and maybe put something in the framebuffer if they want to view an image or similar
Used a website to make the windows since I was on mobile. Thought it looked too plain w/o the window decorations, but yeah. I mean there’s so many distros and themes, who’s to say it couldn’t be Linux. I’ve seen KDE reskinned to look like OSX
It’s fine, I really like MacOS X too. To be fair those window decorations looks real nice as demos.
The trick is to first create a RAM disk. Then put the swap file on there and it’s about as fast as RAM. Then, with the new memory you have created, make another RAM disk. Yep, then make more swap space on there.
I have solved both the memory and SSD availability issues with this infinite RAM and disk space trick.
OMG I miss this meme format
Have a PC with 16gb ram that lives up to the overwatch game system reqs. When I installed it and launched it, it began building some sort of cache. A one time job. During that chache my os would force close steam to prevent an oom crash. I then added 16gb swap and during the owerwatch cache job the used phys ram would max out at 12gb I think and the swap sent up to 10gb. So a 22gb ram job. Yikes. Thanks swap ram 👍
Swap is there an emergency relief for when a runaway process starts to eat all the resources. The system gets slow the user says hey what’s that? They look and see oh wow this one process is really eating a lot of resources that’s bad, can I kill it or do I need to gracefully try to shut it down. Swap buys you time when it could matter. When you don’t have swap OOM killer takes out whatever it wants and for a desktop user that may not be that big of a deal but for a server the database is likely the first target that is taken out.
you misunderstand the meme (of course it doesn’t help either); because the alternative isn’t “no swap”, but rather “use a swap file instead of swap partition”
Hrmm. How does that change the SSD problem if you are using a file on the SSD? I reread the meme. Maybe I’m too blurry eyed still but I don’t see that coming through.
I have a small home server that I occasionally push through huge batch processing jobs. During the pushes, I might collide with other projects that use a pretty big chunk of the RAM. So, to make sure it’s never a killer (just a major slow down), I made a 32GB swap file. If I need it, it’s there and disk is hella cheap.
This machine has never had a GUI installed. No browsers to complain about, just plain old data processing, stats models, and old skool computing.
Now, my worst case scenario was building a C++ program on a raspberry pi gen 1. That has 256MB of RAM. g++ ran out building, so I NFS mounted a huge disk from my desktop machine and made the swap file there. The build took a while… but the program ran fine after the week long build, no swap needed.
unfortunately with S0ix being forced on all modern laptops, zram is the only logical choice. With s3 sleep at least i can say i need swap because i need hibernation…With S0ix? Dont bother.
My 64GiB are enough for my tasks, i don’t use swap.
I may consider it for laptops but only for hibernation purposes.
And here I am using swap for my self hosted services, some of which use ridiculous amount of ram.
I dislike swap solely because it gets used and when I accidentally open the same file twice then I regularly encounter problems with swap files when opening the file again later.
Your problem is not caused by system swap.
I know but I encounter the word swap only there and its annoying
Maybe stop giving a shit what I do with my partions? 🤷 Mine is definitely to try and make hibernate work on a shitty old laptop that’ll drain the battery if I let it sleep and unplug it.
I was thinking about hibernation as well but wasn’t sure if hibernation might also work with a swap file
Honestly the kernel is smart enough to only use it if you need it most of the time from what I can remember from my admin days, no idea why op cares.