10 months ago
Description of the problem:
This week end i did the migration of my production from heroku to Railway. Over the past few days, our Gunicorn workers are consistently being killed with messages like:
Now I really have often this error in my backend web (django) Gunicorn workers killed by SIGKILL despite available memory (timeout issues) (never had this before)
Environment:
Railway service: Web (Django + Gunicorn)
Allocated memory: 4 GO
Configured workers: 3
Error message:
[CRITICAL] WORKER TIMEOUT (pid:…)
Worker (pid:…) was sent SIGKILL! Perhaps out of memory?
even though memory usage never exceeds ~1.8 GB out of our4GB allocation. We have already:
I Verified RAM usage—no spikes above 1.8 GB. (4GB allocation)
I Confirmed this is the Gunicorn timeout (default 30 s) and not the Linux OOM-killer. I Increased --timeout to 60 s in our startup script.
Despite these measures, workers continue to be killed after 60 s on certain, but my longest request took 3sec in heroku and here it shuts down after 60sec.
Could you check whether there’s any additional Railway-side limit (e.g. CPU throttling, I/O constraints) that might trigger these SIGKILLs?
Do you have best practices or recommendations for hosting Django/Gunicorn applications on Railway?
How can i fix it, i don't see what i can improve, i'll have to back to heroku it it continues like this
Thank you for your help!
2 Replies
10 months ago
Hello,
Can you please remove the memory limits you have set.