Re: Paging out when free memory is low but not exhausted (and available memory remains high)

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

 



Actually, I posted to soon - the behaviour is more subtle!

I noticed after my previous message that other system activity can apparently halt the page-outs temporarily. For example, after running Chrome for a while, the paging stopped (and the system conspicuously had quite a chunk of memory in the MAP category in xosview). After exiting Chrome and resetting swap and caches, the problem reappears.

I found that running glxgears concurrently also stops the page-outs. Some earlier testing with latencytop indicated long waits in the i915 driver, so I wonder if there is some interaction with the graphics system somehow. I've captured the /proc/vmstat data for such a test:

vmstat_5.5.0-rc6+patched_cedwards_2020-01-28.tar.gz

Timeline:

1580184360	run "stress --vm-bytes $(awk '/MemAvailable/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k --vm-keep -m 1"
1580184370	run "dd if=/dev/sda of=/dev/null bs=1M"
1580184420	run "glxgears"
1580184430	glxgears display appears
1580184460	kill glxgears
1580184484	kill dd

Even more weirdly (perhaps further suggesting graphics interactions), moving the mouse pointer between (urxvt) terminal windows also stops the page-outs. I'm using the Notion tiling window manager, which uses focus-follows-mouse. Here is another vmstat capture, this time using the unpatched 5.5.0-rc6 kernel:

vmstat_5.5.0-rc6-unpatched_cedwards_2020-01-28.tar.gz

Timeline:

1580185680	run stress
1580185690	run dd
1580185720	move mouse pointer continuously between urxvt windows
1580185740	move mouse pointer only within one urxvt window
1580185750	stop mouse motion

Just as I'm writing this, I notice that the paging stops while Chrome has focus, but resumes when it loses focus! Running glxgears stops the paging even if the glxgears window does not have focus. This is on the generic unpatched 5.5.0-rc6 kernel, with `stress` and `dd` still running. Very odd - but perhaps it points toward a root cause somehow. I think it would be good to test on other hardware. :)

Best regards,
--
Chris

Attachment: vmstat_5.5.0-rc6+patched_cedwards_2020-01-28.tar.gz
Description: vmstat_5.5.0-rc6+patched_cedwards_2020-01-28.tar.gz

Attachment: vmstat_5.5.0-rc6-unpatched_cedwards_2020-01-28.tar.gz
Description: vmstat_5.5.0-rc6-unpatched_cedwards_2020-01-28.tar.gz


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux