I’ve heard a lot of people say your swap should be 2x RAM… but do I really need 32GB of swap?

  • fiasco
    link
    fedilink
    English
    arrow-up
    9
    arrow-down
    4
    ·
    edit-2
    1 year ago

    I think it’s better to think about what swap is, and the right answer might well be zero. If you try to allocate memory and there isn’t any available, then existing stuff in memory is transferred to the swap file/partition. This is incredibly slow. If there isn’t enough memory or swap available, then at least one process (one hopes the one that made the unfulfillable request for memory) is killed.

    If you ever do start swapping memory to disk, your computer will grind to a halt.

    Maybe someone will disagree with me, and if someone does I’m curious why, but unless you’re in some sort of very high memory utilization situation, processes being killed is probably easier to deal with than the huge delays caused by swapping.

    Edit: Didn’t notice what community this was. Since it’s a webserver, the answer requires some understanding of utilization. You might want to look into swap files rather than swap partitions, since I’m pretty sure they’re easier to resize as conditions change.

    • cmeerw@programming.dev
      link
      fedilink
      English
      arrow-up
      5
      ·
      1 year ago

      Unused (or very rarely used) memory can also be swapped out to make more memory available for the disk cache (in the hope that having more disk cache available will save more disk accesses than the (hopefully one-time) swap-out operation).