“show_signal_msg:Ncallback抑制”,然后挂100%,机器无响应

发生在Ubuntu 14.04 64位DigitalOcean Droplet上:

Apr 22 02:17:02 localhost CRON[32514]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Apr 22 03:16:59 localhost kernel: [211877.884132] show_signal_msg: 12 callbacks suppressed Apr 22 03:16:59 localhost kernel: [211877.884140] python[2376]: segfault at 24 ip 00000000004c278f sp 00007fbad163caa0 error 6 in python2.7[400000+2bd000] 

在凌晨3:16左右,CPU高达100%,机器无法ping通,SSH和(远程)控制台:

View post on imgur.com

第一次段错误之前怎么会出现“callback抑制”限制?

http://lxr.free-electrons.com/source/arch/x86/mm/fault.c#L727

一般来说,几个segfaults如何导致内核locking? 违规的过程是在'while:'; 做python script.py; 睡觉1; (注意睡眠),用“nice 10”运行,增加了oom_adj,这样内核就会先杀掉它:

 open('/proc/self/oom_adj', 'w').write('10') os.nice(10) 

到目前为止,看起来像这个内核bug:

http://blog.nitrous.io/2014/03/10/stability-and-a-linux-oom-killer-bug.html