我有一个Flask
应用程序,它写在Python
之上。我和Gunicorn一起运行这个应用程序。我一时向Gunicorn
提出一些本质上是同步的请求。请求数量一次不超过30个。我有17个不同的Machine Learning models
,每个模型我都有一个Gunicorn过程。因此,如果我们将Master和Worker视为不同的进程,那么我总共有34个进程。整体而言,在22Gb
开始。但随着应用程序继续运行,Gunicorn内存不断增加。过了一段时间,由于Kernel
,它迫使Out of Memory
停止其他应用程序,如Jetty
有人能告诉我如何调试这个问题吗?
答案 0 :(得分:0)
这似乎是金枪鱼的预期行为。每个工作人员消耗的内存将随着时间增加。您应该尝试在Gunicorn设置(例如 N )中设置max-requests参数,以指示工作进程在处理 N 个请求后重新启动。您可以在set the custom attribute grammatically
中查看更多信息