Hi guys! I’m a bit tired that my system sometimes completely becomes unresponsive while running things that could fill up the memory. I have 32GB of RAM, a bit of a swap file in my SSD (I think something like 5GB swap), but this clearly isn’t cutting it. I was having a few browser windows opened, a handbrake encoding that was paused and decided to open Death Stranding 2, which is optimized to take around 5-6GB of RAM. And the system became once more so unresponsive that I had to literally reset it, after 5mins of nothing. I’d like to implement in my Ubuntu-based distro what they have in CachyOS. I’m not exactly sure, but I think it’s a ZRAM-based swap partition? Something like 1 or 2GB commited to compressed virtual memory in RAM? Seems this works much better when things are close to getting dicey…how would I go about doing what they use in CachyOS? Is there any easy to follow guide?

  • Ordoviz@lemmy.ml
    link
    fedilink
    arrow-up
    8
    ·
    2 days ago

    Use systemd-zram-generator. The process is explain in the DebianWiki and the ArchWiki and this random blog, but it boils down to just a few commands you need to run:

    $ apt install systemd-zram-generator
    $ sudoedit /etc/systemd/zram-generator.conf
    [zram0]
    zram-size = min(ram, 8192)
    compression-algorithm = zstd
    $ sudo systemctl daemon-reload && sudo systemctl start systemd-zram-setup@zram0.service
    

    You can tweak the settings above. Fedora recommends using zram-size = min(ram, 8192), which would correspond to 8GB ZRAM in your case. CachyOS uses a less conservative config with zram-size = ram.

    To confirm that zram is working, run zramctl. It should print something like

    NAME       ALGORITHM DISKSIZE   DATA  COMPR  TOTAL STREAMS MOUNTPOINT
    /dev/zram0 zstd            8G 430.8M 137.6M 142.9M         [SWAP]
    

    See also Improving system responsiveness under low-memory conditions.

  • A_norny_mousse@piefed.zip
    link
    fedilink
    English
    arrow-up
    8
    ·
    2 days ago

    a handbrake encoding that was paused and decided to open [a game]

    Even in 2026 that does not seem like good practice to me.

    Have you tried switching to a different tty and killing the handbrake process?

    Also, have you checked that it’s really RAM getting filled up that freezes your system?

  • fozid@feddit.uk
    link
    fedilink
    arrow-up
    1
    ·
    1 day ago

    When your system starts swapping it will also start to crawl. Just set up an oom protector, then when you run out of ram, the system will kill the culprit automatically and your system will never crawl, and you get a notification what’s happened and why.

  • catdog@lemmy.ml
    link
    fedilink
    arrow-up
    5
    ·
    2 days ago

    Try it. I have configured ZRAM on Linux Mint and Debian, works like a charm.

    If I may ask: why are you thinking of only committing 1 or 2GB to ZRAM? This way your net RAM capacity increase will only be a few hundred megs. I recommend to allocate 25% to 60% of your RAM to it.

    To set it up, I have used an LLM for instructions, so don’t listen to me for derails. I recommend prompting/searching for instructions youryelf if others aren’t aplble to point you to a guide.

    • Pommes_für_dein_Balg@feddit.org
      link
      fedilink
      arrow-up
      6
      arrow-down
      1
      ·
      2 days ago

      To set it up, I have used an LLM for instructions, so don’t listen to me for derails.

      Mentioning LLMs is a great way to derail threads on lemmy.

      • catdog@lemmy.ml
        link
        fedilink
        arrow-up
        2
        ·
        2 days ago

        Yes, and I’m glad it didn’t happen this time. Lemmy would be a better place without those derailments (whether you’re a net proponent or net opponent of LLMs).