Memory swap when there's apparently plenty of free RAM
Eli Billauer
eli at billauer.co.il
Mon Jun 18 16:41:44 IDT 2012
Thanks, Muli.
It looks like this is the one. Even though this article is pretty old,
http://lwn.net/Articles/83588/
it looks like it explains what happened: mapped_ratio reached some 60%,
vm_swappiness was 60, and attempting to load the libraries for Chrome
required a lot of memory clearing for disk cache. Which should have been
taken from the vast amount of already existing disk cache, but then the
memory manager decided to share the burden with some processes:
swap_tendency reached its limit, just because there were a lot of pages
needed clearing suddenly (i.e. "distress" got high).
Why it went for 2GB at once is another question.
With swap space used as a shock absorber only, it definitely makes sense
to go
# echo 0 > /proc/sys/vm/swappiness
and hopefully have this issue over with.
Thanks again.
Eli
On 06/18/2012 04:01 PM, Muli Ben-Yehuda wrote:
> On Mon, Jun 18, 2012 at 03:07:34PM +0300, Eli Billauer wrote:
>
>
>> Any idea what happened? In particular, why triggered the swap for no
>> apparent reason?
>>
> Just a guess, but it might sub-optimal VM swapiness settings. See
> Documentation/sysctl/vm.txt:
>
> swappiness
>
> This control is used to define how aggressive the kernel will swap
> memory pages. Higher values will increase agressiveness, lower values
> decrease the amount of swap.
>
> As to why, because sometimes you want to keep empty memory frames that
> are ready to be used, which implies that you page out their contents
> *before* those frames need to be freed.
>
> Cheers,
> Muli
>
>
>
--
Web: http://www.billauer.co.il
More information about the Linux-il
mailing list