小编dat*_*ess的帖子

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
查看次数

如何诊断“冻结”的 linux 软件突袭设备?

我有一台运行 Linux 3.2.12 32 位 i686 的服务器,有 13 个驱动器:1 个引导驱动器和 3 个 raid5 设备,每个设备有 4 个驱动器。

/proc/mdstat 显示

Personalities : [raid1] [raid10] [raid6] [raid5] [raid4] 
md2 : active raid5 sdd1[3] sdc1[2] sdb1[1] sda1[0]
    5860535808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

md1 : active raid5 sdk1[3] sdj1[2] sdi1[1] sdh1[0]
    4395407808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

md3 : active raid5 sdl1[0] sdm1[1] sdf1[3] sde1[2]
    5860535808 blocks level 5, 64k chunk, algorithm 2 [4/4] [UUUU]

unused …
Run Code Online (Sandbox Code Playgroud)

linux raid deadlock

5
推荐指数
1
解决办法
1213
查看次数

标签 统计

deadlock ×1

linux ×1

oom ×1

oom-killer ×1

raid ×1

rsync ×1