mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Update FAQ - Workers Silently Killed.
This commit is contained in:
parent
5a57d595c5
commit
cfc93ad701
@ -205,3 +205,30 @@ Check the result::
|
|||||||
tmpfs 65536 0 65536 0% /mem
|
tmpfs 65536 0 65536 0% /mem
|
||||||
|
|
||||||
Now you can set ``--worker-tmp-dir /mem``.
|
Now you can set ``--worker-tmp-dir /mem``.
|
||||||
|
|
||||||
|
Why are Workers Silently Killed?
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
A sometimes subtle problem to debug is when a worker process is killed and there
|
||||||
|
is little logging information about what happened.
|
||||||
|
|
||||||
|
If you use a reverse proxy like NGINX you might see 502 returned to a client.
|
||||||
|
|
||||||
|
In the gunicorn logs you might simply see ``[35] [INFO] Booting worker with pid: 35``
|
||||||
|
|
||||||
|
It's completely normal for workers to be killed and startup, for example due to
|
||||||
|
max-requests setting. Ordinarily gunicorn will capture any signals and log something.
|
||||||
|
|
||||||
|
This particular failure case is usually due to a SIGKILL being received, as it's
|
||||||
|
not possible to catch this signal silence is usually a common side effect! A common
|
||||||
|
cause of SIGKILL is when OOM killer terminates a process due to low memory condition.
|
||||||
|
|
||||||
|
This is increasingly common in container deployments where memory limits are enforced
|
||||||
|
by cgroups, you'll usually see evidence of this from dmesg::
|
||||||
|
|
||||||
|
dmesg | grep gunicorn
|
||||||
|
Memory cgroup out of memory: Kill process 24534 (gunicorn) score 1506 or sacrifice child
|
||||||
|
Killed process 24534 (gunicorn) total-vm:1016648kB, anon-rss:550160kB, file-rss:25824kB, shmem-rss:0kB
|
||||||
|
|
||||||
|
In these instances adjusting the memory limit is usually your best bet, it's also possible
|
||||||
|
to configure OOM not to send SIGKILL by default.
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user