DO kills my python operation

January 27, 2015 2.5k views

I have a 2GB memory and 40GB Disk DO. I am running a python script on this and it gets killed at a particular line (I know where as it is a bit of a memory-intensive line of code). This script runs on my personal mac without a problem.

What is happening? Can I set the memory allowance of python in linux manually? I remember hearing about OOM. How can I go about this? Is this a good solution at all?
Thanks a lot.

2 Answers

You can check in the kernel logs if you're OOMing (check /var/log/kern.log or others) and the solution is to add additional memory by upgrading the droplet.

If you see messages like:

[1711385.762978] Out of memory: Kill process 21405 (apache2) score 47 or sacrifice child
[1711385.763420] Killed process 21405 (apache2) total-vm:296064kB, anon-rss:23560kB, file-rss:0kB

(but with python instead of apache), then your processes are indeed being killed because of OOMing.

If this is a one-time thing and you don't expect to regularly use this much RAM, consider temporarily using a swap file.

Have another answer? Share your knowledge.