Re: No Swap Allocation in FSTAB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 21, 2021 at 10:51 AM Barry Scott <barry@xxxxxxxxxxxxxxxx> wrote:
>
> The SSDs are a lot slower than compressing a page into RAM.
>
> There was extensive discussion on the Fedora Devel list when this change was proposed.
>
> Personally I was convinced that this change is an improvement for any system that is under
> memory pressure. I'm not going to try to recall the discussion as I may get some details
> wrong.

At a high level, zram is a ram disk that has transparent compression.
You can format it with mkswap or any other file system, use it as a
block device.

But nuts and bolts memory management, reclaim, paging in and out, it's
quite complicated. There's work happening since kernel 5.8 to make
swap a lot more effective. And on going work to make mm and zswap do
the right thing. And zswap is a different thing altogether, it's a
front cache that uses a compressed memory pool as a cache for a
conventional swap file or partition. And it works on an least recently
used basis. So it has a way of determining what's stale and pushing
that out to disk, while keeping recent things in the (memory) cache.
In this case we don't have the concerns with priority inversions that
can happen when a particular sequence of events happens:

1. zram based swap has higher priority
2. conventional swap has lower priority
3. early workloads fill up zram with stale things not used again later
4. the general workload ends up using disk based swap

So this is not really any worse than before at this point except it is
consuming some memory, just to keep stale things available in case
they get used. And if they do get used, it'll be quite fast. That's
not obviously a bad thing, except it is taking a limited resource off
the table. That's atypical for desktop workloads. But you can imagine
that the more resources a system has the more variable the workload
can be, and you could see early swap fill up a zram device, and then
it can't be used again until the programs that created those anonymous
pages are quit, in the extreme case.

Anyway, how to optimize was the whole point of moving to zram based
swap. And it won't stop there. There is still more work happening to
get zswap cgroups aware. Neither zram nor zswap are at the moment so
for resource control purposes, we actually need a plain swap partition
or swap file, it can't even be on dm-crypt at the moment. And one of
the nice things about zram based swap is, it's volatile, so we have
less security concerns about questionable things ending up on
persistent storage that don't even go in a user's ~/home. Anything
could be evicted to swap.


> I switched it on in F33 and have for over a year seen no down side for my work loads.
> My work loads are file+email server, firewall, KDE desktops, Kodi music server.
>
> At my work once we get on to Centos 8 I'm planning to performance test with zram swap.
> We have a work load that is very sensitive to disk I/O spikes and there is some sad
> code that uses swap for 10s to 15s every 20mins of so that I want to make go away.
> We have RAID-10 SSD where we see issues.

With centos 8 kernels you'd probably use zram based swap because it's
more mature in the older kernels. If you are able to use an elrepo
kernel you could try changing nothing else and see if the kernel 5.8+
changes help your workload all by themselves. And if not you could
look at either zram based swap or zswap.


-- 
Chris Murphy
_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux