Python Script Terminated By Sigkill Rather Than Throwing Memoryerror
Solution 1:
It sounds like you've run into the dreaded Linux OOM Killer. When the system completely runs of out of memory and the kernel absolutely needs to allocate memory, it kills a process rather than crashing the entire system.
Look in the syslog for confirmation of this. A line similar to:
kernel: [884145.344240] mysqld invoked oom-killer:
followed sometime later with:
kernel: [884145.344399] Out of memory:Killprocess3318
Should be present (in this example, it mentions mysql specifically)
You can add these lines to your /etc/sysctl.conf
file to effectively disable the OOM killer:
vm.overcommit_memory = 2vm.overcommit_ratio = 100
And then reboot. Now, the original, memory hungry, process should fail to allocate memory and, hopefully, throw the proper exception.
Setting overcommit_memory
means that Linux won't over commit memory, meaning memory allocations will fail if there isn't enough memory for them. See this answer for details on what effect the overcommit_ratio
has: https://serverfault.com/a/510857
Post a Comment for "Python Script Terminated By Sigkill Rather Than Throwing Memoryerror"