我有一个单一的gunicorn工作进程负责读取一个巨大的Excel文件,这个过程需要花费长达5分钟,并使用4GB的内存。但是,在请求完成处理之后,我发现在系统监视器中它仍然会永久地分配4GB的内存。你们有什么办法来释放这些内存吗?
我有一个单一的gunicorn工作进程负责读取一个巨大的Excel文件,这个过程需要花费长达5分钟,并使用4GB的内存。但是,在请求完成处理之后,我发现在系统监视器中它仍然会永久地分配4GB的内存。你们有什么办法来释放这些内存吗?
您可以尝试设置gunicorn worker的max-requests(N)参数,以指示在处理N个请求后重新启动worker。
您可以参考此处有关max-requests设置的更多信息: http://docs.gunicorn.org/en/stable/settings.html
--max-requests 1
对于类似的情况对我有用。