从1个月前开始,我在我的Django应用程序中遇到内存问题。它在GAE + SQL PostgreSQL DB中的GCC中。显然,我没有从内存消耗的Angular 修改任何相关内容,在所有请求中随机获得错误。
我得到的错误是这样的:
- 在处理此请求时,发现处理此请求的进程使用了太多内存,并已终止。这可能会导致对应用程序的下一个请求使用新进程。如果经常看到此消息,则可能是应用程序中存在内存泄漏,或者可能是使用的示例内存不足。考虑在app.yaml中设置更大的示例类。*
我想知道如何确定这个错误的来源。增加瞬时最小值类型当然减少了错误的数量,但它们仍然存在。我不认为我的应用程序需要很多内存。
有人能帮我吗我该怎么办?
谢谢
巴勃罗
1条答案
按热度按时间8zzbczxx1#
根据错误消息,
在处理此请求时,发现处理此请求的进程使用了太多内存,因此终止了该进程。这可能会导致对应用程序的下一个请求使用新进程。如果经常看到此消息,则可能是应用程序中存在内存泄漏,或者可能是使用的示例内存不足。考虑在app. yaml中设置一个更大的示例类。
看起来请求占用了太多的内存,导致内存不足。
为了缓解这个问题,我建议交叉检查以下选项:
1.使用更大的示例类或根据应用程序工作负载升级具有更多内存的示例类,这可能有助于解决此问题。
1.同时确保应用程序正在捕捉SIGTERM信号。否则,示例将立即关闭。这是在公开文件中提到的。
1.以减少在每个请求中处理的数据块。您可以将其拆分为更小的部分,并让较小的示例完成工作。
1.当您尝试在App Engine Standard中配置资源设置时,也可以查看此Stackoverflow Link。资源部分只能在App Engine Flexible中配置。建议在
app.yaml
中增加env: flex
,使其生效。可能由于代码更改而发生错误,并尝试按照@NocommandLine在注解部分提供的步骤调试问题。如果上述步骤没有帮助,您可以考虑联系Google support,因为它可能需要项目检查。