3
Rsync在单个50 GB文件上触发了Linux OOM杀手
我在server_A上只有一个50 GB的文件,并将其复制到server_B。我跑 server_A$ rsync --partial --progress --inplace --append-verify 50GB_file root@server_B:50GB_file Server_B具有32 GB的RAM和2 GB的交换空间。它大部分是空闲的,应该有很多可用的RAM。它具有足够的磁盘空间。由于远程端已关闭连接,因此传输中止大约为32 GB。 Server_B现在已脱离网络。我们要求数据中心重新启动它。当我查看崩溃之前的内核日志时,我发现它正在使用0字节的交换空间,并且进程列表使用的内存很少(rsync进程被列为使用600 KB的RAM),但是oom_killer是变得疯狂,日志中的最后一件事就是杀死了metalog的内核读取器进程。 这是32位内核3.2.59(因此,任何进程都不能映射超过4 GB的内存)。 几乎就像Linux给缓存提供了比长期运行的守护程序更高的优先级。是什么赋予了??我该如何阻止它再次发生? 这是oom_killer的输出: Sep 23 02:04:16 [kernel] [1772321.850644] clamd invoked oom-killer: gfp_mask=0x84d0, order=0, oom_adj=0, oom_score_adj=0 Sep 23 02:04:16 [kernel] [1772321.850649] Pid: 21832, comm: clamd Tainted: G C 3.2.59 #21 Sep 23 02:04:16 [kernel] …
66
rsync
oom
oom-killer