Btrfs with compression enabled and subvolumes set.
And enable/automate maintenance services for BTRFS. For example: balace
should be run on heavily used system disks or scrub
could help detect errors even on single disks.
ZRAM (With proper sysctl.conf like PopOS does).
Could you explain the preference of ZRAM over ZSWAP? I thought the latter was the more advanced and better performing solution. Is there some magic in Pop’s config?
Thanks for the links! I updated my config from z3fold to zsmalloc and adjusted the vm.page-cluster to test these out.
Reading a bit more, I think when using large max_pool_percent (>30) with Zswap the two solutions are more similar than not. A crucial difference is what use-case is more acceptable since Zswap can cause unresponsiveness (and potential lockup) under high memory pressure. While Zram could result in an OOM crash in a similar worst-case scenario.