this post was submitted on 02 Jan 2024
49 points (98.0% liked)
Linux
48365 readers
865 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Are you sure you can use a swap file with btrfs? I did not think you could do that. Maybe I was on old software last time I tried.
Yeah it's supported. It's listed in the docs for btrfs and arch.
I'd highly recommend setting up a swap partition instead.
Why?
As swap is recommended just in case all RAM is maxed it's better to have a swap partition as swap files have certain limitations when in combined use with BTRFS:
here's the link for more info: https://man.archlinux.org/man/btrfs.5#SWAPFILE_SUPPORT
after switching to a swap partition with BTRFS I've experienced no issues for a user configuration
Make a subvolume only for the swapfile.
This is true for all files. Is it a bigger problem for swap?
This one I can't refute. How long ago did you have these issues?
doesn't this kinda defeat the purpose/benefits of using a swapfile?
specificly swapfiles yes, for swap partitions nope
Dec 2022, was still using and testing with swapfiles then and said fuck it as it caused too much problems.
I can't rule out user error till I retest and strictly "follow the guide to the T" as I made modifications while following the same Arch guide for swapfile with BTRFS
edit:
also for clarification, I'm still not sure which one is optimal/best as I initially thought that using swapfile was forward thinking for the future, I'm using and recommending swap partitions as it seems to be the easiest to implement once and use continuously without any problems atm.
The reason I use a swap file is so that I can have only one partition backed by LUKS disk encryption, rather than having to screw around with lvm which comes with its own performance overhead and all. I've personally never had issues hibernating to.it, but given how much buggy uefi firmware is out there I'm not surprised to hear that other have issues
I don't see how swap has much chance to fragment. A swapfile has to be fully allocated up front and cannot be CoW. If it's allocated well in the first place, it will stay that way.
The swap code doesn't really do I/O through the filesystem. AIUI, it locks the file, gets the disk block #s from the FS, and after that it accesses those blocks directly.
From the BTRFS manual:
"Nodatacow implies nodatasum, and disables compression."
"Datasum implies datacow"
Based on these notes I'd assume that since swapfile disables COW that it also disables checksumming which is where the risk of fragmentation occurs
I could be wrong tho
If you need to set up a special dedicated subvolume, might aswell set up a partition instead; it's just simpler.
With a swapfile you also can't do multi-device setups which is a limitation I personally couldn't live with.