On Mon, Jun 1, 2020 at 2:37 AM Chris Murphy <lists(a)colorremedies.com> wrote:
Hi,
This topic has been discussed a couple times on devel@ over the past
year - related to resource control, and better interactivity in low
memory situations. And now I have a preview of the change proposal
ready.
https://fedoraproject.org/wiki/Changes/SwapOnZRAM
The proposal aims for default partitioning, for all Fedora editions
and spins, to not create a swap-on-disk partition. And instead create
a compression-based RAM disk, called ZRAM, and use that for swap.
Previous conversations with cloud and server folks suggests it's
somewhat common to not have swap at all. Hopefully I can change your
minds. :D Fast swap is good.
I'm confident a one-size-fits all size for the ZRAM device is
possible, as a fraction of RAM, with a max size (cap). This should be
aggressive enough for low memory devices, while also not expending as
much overhead for the systems with a lot of memory. It might be an
option to ship different configurations, if necessary.
There is a test day planned. But I'd like to get solid buy-in from
cloud and server folks before then.
Thanks,
Some thoughts, in no particular order:
* Reading through the Change, you write:
"using a ZRAM to RAM ratio of 1:2, and capped†to 4GiB" and then you
talk about examples which are using 50% of RAM as ZRAM. Which is it? A
ratio of 1:2 implies using 33% of RAM as ZRAM.
* This Change implies the de facto death of hibernation in Fedora.
Good riddance, IMHO. It never worked safely.
* Can the upgrade process be made to detect the lack of existing swap
and not enable the zswap in that case? That would probably avoid the
complaints from the "swap always stinks, I don't care if it has a 'Z'
in the name!" crowd. Yes, it would lead to some fragmentation, but I
think the argument "your performance sucks because you're not using
zswap, here's an easy way to turn it on" is a valid answer to that.
Generally, we should probably assume (given existing defaults) that
anyone who has no swap running chose that explicitly and to change it
would lead to complaints.
* If you're going to do the Supplements:, you need to do `Supplements:
fedora-release-common` or you won't get everyone. The `fedora-release`
package is for non-Edition/Spin installs.
* I'm going to enable this on my Workstation and Server today and I'll
see what happens.