Search code examples
pythonflaskgunicorn

Gunicorn worker terminated with signal 9


I am running a Flask application and hosting it on Kubernetes from a Docker container. Gunicorn is managing workers that reply to API requests.

The following warning message is a regular occurrence, and it seems like requests are being canceled for some reason. On Kubernetes, the pod is showing no odd behavior or restarts and stays within 80% of its memory and CPU limits.

[2021-03-31 16:30:31 +0200] [1] [WARNING] Worker with pid 26 was terminated due to signal 9

How can we find out why these workers are killed?


Solution

  • I encountered the same warning message.

    [WARNING] Worker with pid 71 was terminated due to signal 9
    

    I came across this faq, which says that "A common cause of SIGKILL is when OOM killer terminates a process due to low memory condition."

    I used dmesg realized that indeed it was killed because it was running out of memory.

    Out of memory: Killed process 776660 (gunicorn)