Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 当内存达到100MB时,无论实例类别如何,Google应用程序引擎都会杀死静态后端_Python_Google App Engine_Memory - Fatal编程技术网

Python 当内存达到100MB时,无论实例类别如何,Google应用程序引擎都会杀死静态后端

Python 当内存达到100MB时,无论实例类别如何,Google应用程序引擎都会杀死静态后端,python,google-app-engine,memory,Python,Google App Engine,Memory,我正在使用Python和Google应用程序引擎。当内存使用量达到100MB时,应用程序引擎停止我的后端进程,并将其移动到另一台计算机。日志文件显示“进程已移动到另一台计算机。” 我希望在实例类B1中会出现这种情况,但在实例类B2甚至B4_1G中仍然会出现这种情况。我收到了额外内存的账单,但应用引擎似乎没有给我。我有一个具有此配置的静态模块 应用:happycyborg1 模块:静态后端 版本:2 运行时:python27 api_版本:1 线程安全:正确 实例类:B2 手动缩放: 实例:1

我正在使用Python和Google应用程序引擎。当内存使用量达到100MB时,应用程序引擎停止我的后端进程,并将其移动到另一台计算机。日志文件显示“进程已移动到另一台计算机。”

我希望在实例类B1中会出现这种情况,但在实例类B2甚至B4_1G中仍然会出现这种情况。我收到了额外内存的账单,但应用引擎似乎没有给我。我有一个具有此配置的静态模块

应用:happycyborg1 模块:静态后端 版本:2 运行时:python27 api_版本:1 线程安全:正确 实例类:B2 手动缩放: 实例:1 图书馆: -名称:webapp2 版本:最新 -姓名:金佳2 版本:最新 -姓名:numpy 版本:“1.6.1” 处理程序: -网址:/* 脚本:live.APP

仪表板上的内存使用情况如下所示 每一滴水都对应于流程移动到不同机器的位置。忽略最后的上升。我正在尝试使用多个实例来获得更多内存,但我更喜欢一个具有更大内存的实例


而且,我不知道为什么记忆会持续增长。当我随时间记录内存时,它只是随机上升,与代码的任何区域都没有关联。由于我的应用程序使用的数据,我无法在本地环境中轻松运行它以使用测试工具。但是,当我完全在app engine之外运行它时,应用程序的核心代码不会随着时间的推移而增加内存消耗。

您是否正在进行大量RPC调用(如NDB或URLFetch)?是的。我经常去NDB,也会给Twitter打电话。这怎么会导致这种行为呢?我正在检查对Twitter的呼叫的异常情况。NDB是否有一组GOTCHA?如果是这样,为什么它们会在100 MB时被触发?可能是我的实体组太大或是其他什么?NDB会填满内存。这并不是您的实例以100 mb重新启动的原因,但它可能是您占用那么多空间的原因。你能把这项工作发送到Mapreduce吗?只需添加一个包含更多信息的链接,补充上面的两条评论:是的,这看起来绝对相关。非常令人沮丧。我也会考虑将它发送到Mapreduce。我会在调查后发布更多。谢谢