我有一个正在运行的googleappengine应用程序(Flask应用程序),它似乎有内存泄漏。请参见下面的内存使用图。内存使用率不断攀升,直到达到极限,实例关闭,新实例启动。你知道吗
这是一个简单的API,大约有8个端点。它们都不能处理大量数据。你知道吗
我添加了一个端点,该端点使用tracemallo包获取内存快照,并将其与上一个快照进行比较,然后将输出写入Google云存储。你知道吗
我在报告中没有看到任何内存泄漏的迹象。记录的峰值内存使用量约为0.12gib。你知道吗
我也在打电话gc.收集()在每个端点调用的每个函数的末尾。你知道吗
有没有关于如何诊断的想法,或者是什么导致的?你知道吗
出现这种情况可能有许多原因。你的应用程序正在创建临时文件吗?临时文件可能会导致内存泄漏。也可以从错误或警告创建临时文件。首先,我会检查我的Stackdriver日志中的错误和警告,并尝试修复它们。你知道吗
您的应用程序是否与数据库或存储桶交互?一些与内存相关的问题可能与应用程序与任何数据存储服务的不良交互有关。这个问题也遇到了here,并通过处理Google云存储错误得到了缓解。你知道吗
你可以做的另一件事是研究一下在函数中使用内存的方式。为此,您可以使用一些不错的工具,如Pympler和Heapy。使用这些工具可能会给你关于问题所在的有价值的线索。你知道吗
相关问题 更多 >
编程相关推荐