然后“show_signal_msg:N 个回调被抑制”固定在 100%,机器无响应

然后“show_signal_msg:N 个回调被抑制”固定在 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 和(远程)控制台没有响应:

https://i.stack.imgur.com/wlNHA.png

“回调抑制”限制是如何出现的第一个段错误?

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

一般来说,几个段错误怎么会导致内核锁定?有问题的进程处于 'while :; do python script.py; sleep 1; done'(注意 sleep)中,以 'nice 10' 运行,并且 oom_adj 增加,因此内核会首先将其杀死:

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

答案1

到目前为止看起来像这个内核错误:

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

相关内容