recursive_recursion [they/them]

P.D Volunteer Community Team Lead.

Alt Acc(s):

help me help you ♻️ - is my motto🤗

Please consider donating, any and all support is appreciated!

  • 76 Posts
Joined 1 year ago
Cake day: July 15th, 2023


  • I’ve run Arch without swap for many years without issues. The key of course is that you need enough RAM for what you are trying to do with your computer.

    There’s no reason why a 32GB RAM + 0GB swap system should have more problems than a 16GB RAM + 16GB swap system with the same workload. If anything, the former is going to run much better.

    I run a lot of VMs; I typically run 2 at the same time in addition to running other programs in the background, my usecase is more eccentric than most users in the Linux space which is already pretty niche

    What is finicky about a swap file?

    It’s just this:

    mkswap -U clear --size 4G --file /swapfile
    swapon /swapfile


    I’m using BTRFS with LUKS-based Full Disk Encryption, the last time I used swapfiles with BTRFS with FDE it was in 2019 and it was painful to say the least, I rememeber spending several weeks scouring Stack and the Arch forums in order to get it to work properly.

    • usecases and preferences will differ from user to user, so I wouldn’t advise assuming a one-size-fits-all solution

    If anything it’s way easier to create a file in your filesystem than having to (re-)partition your drive to have a swap partition. Much more flexible too if you want to change your swap configuration in the future.

    swapfiles are great in that you can resize them at will, however after trying all 3 options I found myself questioning when would I even want to resize swap for a single system, so at a certain point I felt that swapfiles were more of a gimmick cause again you don’t really want to depend on swap if can.

    • if you’re consistently reaching your physical memory limits, upgrading your ram will most likely be the best bet for both system stability and hardware durability

  • after a quick preliminary search,
    a couple of things I’ve found out:

    this might not necessarily be adopted by the mainstream desktop users, due to the nature of zram compressing data in addition to disallowing hibernation

    Hibernating to swap on zram is not supported, even when zram is configured with a backing device on permanent storage. logind will protect against trying to hibernate to a swap space on zram.

    • data compression by nature incurs dataloss so there are both pro & con tradeoffs to which should be communicated to the user otherwise they might receive an unnecessary worse user experience:
      • “why is my computer so buggy?”
        • (the system is working as it’s coded but not working in they way the user expects it to)
          • this would be unfortunate as they might leave back to Windows or MacOS
      • I could be completely wrong about this, if so please comment or disregard this section entirely

    to me atm; zram seems great for server based systems rather than for desktop users’ systems

    one other method for zram mainstream adoption is to encourage an eccentric system that I’m currently using, which is to have the host system only contain minimal packages to run Virtual Machines:

    • zram compression might be fine as the main services/programs are run within their relevant and/or separated VM containers
      • this simultaneously achieves:
        • Wikipedia - Separation of Concerns
        • enhanced security as the host is further firewalled/bubblewrapped from the guest like Flatpaking/containerization (and malware is less likely to activate due to malicious users being unhelpful in letting their programs run in a VM 😢🤗)
    • hibernation can still be achived by save-stating VMs (VM restoration at will basically achieves hibernation so it doesn’t really matter if the host is shutdown so long as all VMs are saved by the user before host shutdown)

    sorry for the long comment!
    stuff like this interests me the most so I’ve spent a lot of time in learning and tinkering around🤗