I'm having a lot of fun with this so I welcome everybody to the party.
Performing is a GL-AX100, Qualcomm IPQ6018 SoC, 512MB RAM,
1GB swap partition on fast-ish NVMe SSD attached to USB3.0, uap driver loaded.
Edit: I wonder if the default -2 swap priority is getting in the way. Changed it to 100 and will play some more.
Same issue on SNAPSHOT r31645-3b21f97641 and 25.12.0-rc4.
Running:
3 VLans, 1 5GHz Wi-Fi, 2 ETH
adblock-fast with small list - 81983 domains
https-dns-proxy
transmission: Starting with 83735200 virt mem
Stopped as unnecessary: uhttpd, odhcpd
Swap gets max 60MB use
Swappiness and minimum memory unchanged
root@flint:~# free
total used free shared buff/cache available
Mem: 418676 272736 39584 4 106356 95596
Swap: 1023996 22080 1001916
root@flint:~# uptime
17:15:57 up 3:34, load average: 0.05, 0.27, 0.29
Then this pops-up: dnsmasq invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP) , order=0, oom_score_adj=0
Am I missing something? Expecting the system to use swap as available memory for running processes. Is there something in config? Or is it compiled to act this way?
Been looking for a while and couldn't find anything, any ideas appreciated.
First add zram-swap, it will buffer small bursts of memory excess, 10x faster than USB.
If it gets again into usb swap well look further if anything needs be done.
It's still not playing nice dnsmasq invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
although plenty of swap available
0 pages in swap cache
Free swap = 1208016kB
Total swap = 1232888kB
With my limited understanding, I'll say this only to be said:
Looks like it suddenly realizes it's low on memory and, without having time to even consider swap, the killer gets the job done by... killing someone.
I managed to get it down to 7168, the OOMs killed dnsmasq and transmission quite frequently yet they could restart, but it did throw rare page allocation errors.