相关疑难解决方法(0)

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
Run Code Online (Sandbox Code Playgroud)

Server_B 有 32 GB RAM 和 2 GB 交换。它主要是空闲的,应该有很多空闲内存。它有足够的磁盘空间。在大约 32 GB 时,传输中止,因为远程端关闭了连接。

Server_B 现在已断开网络。我们要求数据中心重新启动它。当我查看崩溃前的内核日志时,我看到它使用了 0 字节的交换空间,并且进程列表使用了很少的内存(rsync 进程被列为使用 600 KB 的 RAM),但是 oom_killer 是变得疯狂,日志中的最后一件事是它杀死了 metalog 的内核读取器进程。

这是内核 3.2.59,32 位(因此任何进程都不能映射超过 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 …
Run Code Online (Sandbox Code Playgroud)

rsync oom oom-killer

67
推荐指数
1
解决办法
6747
查看次数

如何诊断 oom-killer 杀死进程的原因

我有一个运行 CentOS 和 www/mail/db 的小型虚拟专用服务器,它最近发生了几次 Web 服务器和 ssh 无响应的事件。

查看日志,我看到 oom-killer 杀死了这些进程,可能是由于内存和交换空间不足。

谁能给我一些关于如何诊断可能导致最近发生的事件的指示?很可能是第一个进程被杀死了吗?我还应该去哪里找?

linux centos rhel5

9
推荐指数
2
解决办法
2万
查看次数

即使有足够的可用内存,Linux 进程也会被杀死

我正在调查为什么我们的两个进程被 Linux OOM 杀手杀死 - 尽管似乎有足够的 RAM 和大量可用的 SWAP。

当我通过这个答案解释它时,第一个内存请求要求 2^2=4 页(16KB)的内存(顺序标志)并希望它来自“正常”区域。

Jan 27 04:26:14 kernel: [639964.652706] java invoked oom-killer: gfp_mask=0x26000c0, order=2, oom_score_adj=0
Run Code Online (Sandbox Code Playgroud)

如果我正确解析输出,就会有足够的空间:

Node 0 Normal free:178144kB min:55068kB low:68832kB high:82600kB 
Run Code Online (Sandbox Code Playgroud)

几分钟后第二次有同样的请求——而且似乎也有足够的可用空间。

为什么当时触发了OOM杀手?我解析的信息有误吗?

  • 系统是 14.04 Ubuntu,带有 4.4.0-59 x64 内核
  • vm.overcommit_memory设置设置为“0”(启发式),这可能不是最佳的。

实例一:

Jan 27 04:26:14 kernel: [639964.652706] java invoked oom-killer: gfp_mask=0x26000c0, order=2, oom_score_adj=0
Jan 27 04:26:14 kernel: [639964.652711] java cpuset=/ mems_allowed=0
Jan 27 04:26:14 kernel: [639964.652716] CPU: 5 PID: 2152 Comm: java Not tainted 4.4.0-59-generic …
Run Code Online (Sandbox Code Playgroud)

linux oom

9
推荐指数
1
解决办法
6726
查看次数

标签 统计

linux ×2

oom ×2

centos ×1

oom-killer ×1

rhel5 ×1

rsync ×1