所以我用机器学习在一个大约1000条记录的小熊猫数据帧上构建了一个应用程序。我使用gcloud app deploy,它托管在appspot上,我可以使用它。
我将数据框增加到约30,000条记录,并且该应用程序仍在本地运行。当我使用gcloud app deploy时,出现500服务器错误。我正在从项目根目录中的csv加载数据帧。
我的app.yaml看起来像:
runtime: python37
service: snow
instance_class: F4_1G
从另一个stackoverflow帖子中,我将instance_class切换为F4_1G,但它始终出现相同的错误。我也尝试过
gcloud config set app/cloud_build_timeout 1000
关于什么原因可能导致应用引擎出现此错误?
答案 0 :(得分:2)
错误:
“超出了2048 mb的软内存限制,请考虑在应用程序Yaml文件中增加”
表示您的实例类已用完内存,理论上可以通过指定另一个实例类来增加内存,但是您已经在使用内存最大的实例类(2048mb)。检查instance classes的列表。
因此,在您的情况下,解决方案是将其更改为App Engine Flex,然后您需要在 app.yaml 中指定类似的内容:
runtime: python
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
manual_scaling:
instances: 1
resources:
cpu: 1
memory_gb: 2.1
disk_size_gb: 10
在 memory_gb 上,您指定vm实例将使用的内存,这是知道要设置哪个值的公式:
memory_gb = cpu * [0.9-6.5]-0.4
您可以从[0.9-6.5]间隔中选择所需的内存,然后将其乘以CPU数量并减去0.4。有关更详细的说明,请检查app.yaml reference documentation。
此外,请检查App Engine Pricing documentation,以了解您的帐单将如何从标准更改为弹性。