This happened on an Ubuntu 14.04 64-bit 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]
Right around 3:16 AM, the CPU spiked up to 100%, and the machine became unresponsive to ping, SSH and (remote) console:
https://i.stack.imgur.com/wlNHA.png
How could the "callback suppressed" throttling appear before the first segfault?
http://lxr.free-electrons.com/source/arch/x86/mm/fault.c#L727
In general, how could a few segfaults cause the kernel to lock up? The offending process was in 'while :; do python script.py; sleep 1; done' (NOTE sleep), was running with 'nice 10' and had an increased oom_adj so that the kernel would kill it first:
open('/proc/self/oom_adj', 'w').write('10')
os.nice(10)