[CentOS] rsync triggers oomkiller

Fri Mar 21 17:16:13 UTC 2014
Les Mikesell <lesmikesell at gmail.com>

On Fri, Mar 21, 2014 at 11:49 AM, John Doe <jdmls at yahoo.com> wrote:
>>>>
>>>    kernel: rsync invoked oom-killer: gfp_mask=0x200da, order=0, oom_adj=0,
>>>  oom_score_adj=0
>>>    ...
>>>    kernel: Out of memory: Kill process 27974 (mysqld) score 361 or
>>>  sacrifice child
>>>    kernel: Killed process 27974, UID 27, (mysqld) total-vm:3804672kB,
>>>  anon-rss:2890828kB, file-rss:3324kB
>>>
>>>  rsync whines he wants more RAM and... mysql gets killed...
>>>  That makes me a bit sad!

> After more investigation, I found:
> - a vm.swappiness=0 in sysctl.conf, which should not prevent the kernel to swap to prevent an oom.
> - the rsync was part of 8 *sequential* rsyncs on 8 servers, rsyncing between 500 and 1000 files at most...
>

Before very recent versions of rsync  (not sure exactly when it
changed), it would load the entire tree listing from both sides into
memory before walking them for the comparison.  What's the destination
side look like?  Maybe you aren't doing a --delete and a lot of cruft
has accumulated.

-- 
  Les Mikesell
      lesmikesell at gmail.com