@root42 @verdre Swap thrashing went away forever for me when I started using these sysctl settings:
vm.overcommit_memory = 2
vm.overcommit_ratio = 95
vm.dirty_background_bytes = 16777216
vm.dirty_background_ratio = 0
vm.dirty_bytes = 67108864
vm.dirty_ratio = 0
which means no overcommit, reserve 5% of swap for root, start background writeback at 16 *megabytes* of dirty data and throttle writers at 64 megs
I'd love to work with someone on a proper study of whether this makes sense for everyone