this post was submitted on 07 Apr 2024
375 points (97.2% liked)

linuxmemes

21222 readers
78 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • Please report posts and comments that break these rules!

    founded 1 year ago
    MODERATORS
     

    this is right after closing qemu-kvm

    top 35 comments
    sorted by: hot top controversial new old
    [–] [email protected] 36 points 7 months ago* (last edited 7 months ago) (4 children)

    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

    [–] [email protected] 25 points 7 months ago (5 children)

    What are the differences between swap a cache file? Why do you prefer the last one?

    [–] [email protected] 21 points 7 months ago

    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.

    [–] [email protected] 17 points 7 months ago (4 children)

    https://wiki.archlinux.org/title/swap#Swap_file

    I call them swap files but either is correct.

    A swap partition is a part of your storage disk that is formatted for swap use. It could also be it's own disk for high performance systems, but mostly for HPC.

    A swap file is basically an empty disk image file that you mount as swap, the OS will use it just like a swap partition.

    I prefer swap files because I find them easier to manage. I can easily delete, move, or enlarge the swap file whereas the partition will take a bit more work and is a bit riskier to change. Changing partition layouts can get very messy.

    I always recommend a swap file be created when setting up a new Linux machine, even if you have loads of RAM. Some applications will use swap space to help performance, but I also like the fact that if I do something really dumb and fill up the root partition I can delete my swap file to free up space immediately, fix the full disk problem, and then recreate the swap file.

    [–] [email protected] 6 points 7 months ago

    Thank you for your detailed explanation.

    [–] [email protected] 3 points 7 months ago

    Exactly what I meant, but typoed and put cache instead.

    But yeah, I often get memory scares when opening large blender asset files. I got 32gb of swap, but the beast can get hungry fast (and I keep forgetting to close tabs)

    [–] [email protected] 1 points 7 months ago

    Swap files are useful if you are still on EXT4 or similar. If you're using ZFS or BTRFS or BCacheFS, they have no benefits.

    [–] [email protected] 1 points 7 months ago (2 children)

    I was wondering if the extra layer of whatever filesystem the swap file is created on creates overhead? Also i think some filesystems that do COW can negatively impact performance or something? Kind of remember reading that.

    [–] [email protected] 1 points 7 months ago

    For swap files on btrfs COW and features like compression have to be disabled. I believe for btrfs the swap file even has to sit on a subvolume with those features disabled, so it's not enough to only disable them for the swap file.

    [–] [email protected] 1 points 7 months ago

    I've never noticed an appreciable performance hit, but I also don't generally swap much. Most of the time on a desktop/workstation I'm surprised to see a gig or 2 in swap. Nvme drives are pretty fast. If you are actually using swap space on a regular basis it might be worth it to upgrade RAM or use a dedicated drive for swap if necessary. I remember btrfs having swap file issues but the details are fuzzy, these days I use zfs on my nas and ext4 everywhere else.

    [–] [email protected] 8 points 7 months ago (1 children)

    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.

    [–] [email protected] 14 points 7 months ago* (last edited 7 months ago) (2 children)

    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

    [–] [email protected] 6 points 7 months ago

    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. :)

    [–] [email protected] 5 points 7 months ago

    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.

    [–] [email protected] 4 points 7 months ago

    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.

    [–] [email protected] 2 points 7 months ago

    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.

    [–] [email protected] 15 points 7 months ago* (last edited 7 months ago) (1 children)

    Should be an easy fix, remove the partition, extend your root partition, create swap file. Profit?

    [–] [email protected] 3 points 7 months ago

    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.

    [–] [email protected] 13 points 7 months ago

    "zram swap would like to talk with you"

    [–] [email protected] 8 points 7 months ago (1 children)
    [–] [email protected] 4 points 7 months ago

    Typo. Meant swap file

    [–] [email protected] 19 points 7 months ago (1 children)

    I have a machine at work (no screenshots sorry) that is using ~200GB of RAM as disk cache and still has over 100GB of free RAM - not "used for cache but can be freed if an application needs it", actually genuinely unallocated.

    [–] [email protected] 16 points 7 months ago* (last edited 7 months ago)

    unused memory is wasted memory

    Would be true, if new processes could just free some used (not to talk about not used but reserved) memory. But they can't.

    [–] [email protected] 9 points 7 months ago (1 children)

    I use gentoo. My memory is kept warm and cozy

    [–] [email protected] 9 points 7 months ago (1 children)

    And probably so is your apartment. /s

    [–] [email protected] 6 points 7 months ago (1 children)

    What’s wrong with warm and cozy apartment?

    [–] [email protected] 1 points 7 months ago

    Nothing. Its a toofer

    [–] [email protected] 4 points 7 months ago (2 children)

    How to fill up the cache? I have 17 gb of 32 gb free, unalloacted, at the end of the day. Cache is only about 8 gb or so. I think it was a mistake to buy that much ram. I use kubuntu.

    [–] [email protected] 3 points 7 months ago (1 children)

    Open an app close it. Then it will be cached. But yeah don't do that manually it just fills up naturally

    [–] [email protected] 1 points 7 months ago (1 children)

    I already have all my applications open. I even have prefetch installed

    [–] [email protected] 2 points 7 months ago

    Yeh maybe your entire system is only 17gb lol

    [–] [email protected] 1 points 7 months ago

    Read more files.

    [–] [email protected] 0 points 7 months ago (1 children)

    zswap is broken right now anyway, can’t use it on encrypted disks (which every disk should always be)

    [–] [email protected] 3 points 7 months ago

    Yes you can, swap file makes it trivial because disk is already decrypted in initramfs