On Thu, Sep 20, 2018 at 10:34 AM, mcatanzaro@gnome.org wrote:
On Thu, Sep 20, 2018 at 11:24 AM, Chris Murphy lists@colorremedies.com wrote:
[root@f29h ~]# cat /proc/sys/vm/swappiness 60
This is now widely regarded as sabotage, because it's simply too aggressive for the amount of RAM we have these days compared to 4MB of RAM. Upstream is unlikely to change it, they've been beaten over the head for years about it.
Try
# echo 1 > /proc/sys/vm/swappiness
I've seen suggestions to use 0 as well.
I would try 1. I'm pretty sure 0 will just disable swap which doesn't really help us figure out if it's just the swappiness setting being too aggressive.
I'll try it when I can.
How do we change this default for Workstation? Is it a kernel tunable?
Yes. I'm not sure if the preferred way is to use e.g. /etc/tmpfiles.d/workstationswappiness.conf containing an appropriate comment and the line:
w /proc/sys/vm/swappiness - - - - 1
Or since Fedora is not the user, probably follow this advice:
[root@f29h ~]# cat /etc/sysctl.conf # sysctl settings are defined through files in # /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/. # # Vendors settings live in /usr/lib/sysctl.d/. # To override a whole file, create a new file with the same in # /etc/sysctl.d/ and put new settings there. To override # only specific settings, add a file with a lexically later # name in /etc/sysctl.d/ and put new settings there. # # For more information, see sysctl.conf(5) and sysctl.d(5).
So maybe it'd go in /usr/lib/sysctl.d and takes the form
vm.swappiness = 1
Maybe it should be 10 instead, as a compromise. But I wanna know first if 1 is gonna make things sane, then see if they're still sane at 10 with zswap or zram. And then there's some real world data to go with the theory, and write up a summary for the kernel list and see what they think about the idea.
I actually think it's very possibly a good idea across the board for all editions if it ends up being 10. This is even recommended by Red Hat for database use cases. And compiling the way you're describing it, is something like a database operation but then also you have a bunch of user space apps and the GUI and if any of that gets swapped out well yeah, performance from the user's perspective is gonna be total shit. Whereas if that isn't being swapped out, what it does is limits how much memory your application can use for compiling, which will make the compiling slower, but I have no idea by how much. At the least though, if this is in fact part or all of the problem, the user doesn't lose control and isn't forcing power off on their system and isn't getting pissed off. :-D Instead, maybe they grumble about how they need more RAM, which is the right response.