首页 > 解决方案 > GAE 超出了实例内存限制。超过 2,048 个月?

问题描述

我很好奇如何处理 GAE 中的内存限制。目前,我有这个.py需要大量 CPU / 内存的应用程序。

我尝试使用 b8 实例在 GAE 上运行它(基本上是具有 4.8 Ghz CPU 和 2,048 MO 内存的顶级实例)。我还在我的app.yaml文件中允许了几个实例(我尝试使用最多 25 个,这是最大限制,以防万一)。

我还尝试手动设置应用程序要使用的 CPU 和内存数量,如下所示:

resources:
  cpu: 2
  memory_gb: 12.6
  disk_size_gb: 20
  volumes:
  - name: ramdisk1
    volume_type: tmpfs
    size_gb: 0.5

但无论我做什么,我都会达到同样的内存限制......(见下文)

GET500 0 B 43 s Unknown /_ah/start 服务 0 个请求后,超过 2048 MB 和 3163 MB 的软内存限制。考虑在 app.yaml 中设置一个更大的实例类。

所以这是我的问题:无论我尝试做什么,都有 2048 的上限吗?或者,也许我只是没有app.yaml正确设置我的文件,并且有一种方法可以在此过程中推送更多内存?

请注意,我确实意识到这是我正在尝试启动的一个相当大的应用程序,代码已经过优化,但它必须处理大型数据集上的许多操作。尽管如此,该应用程序只能准时运行。

标签: pythongoogle-app-engine

解决方案


正如@gaefan 在评论中提到的,您应该考虑使用 GAE 灵活环境。原因是,根据文档,标准环境根据您选择使用的实例的类来限制内存,在您的情况下,对于 B8,它是 2048 MB。

灵活环境并非如此,根据文档,GAE 负责分配具有足够资源的实例,以至少保证您在app.yaml文件中指定的内容,因此在您的情况下,您将指定 12.6 GB


推荐阅读