繁体   English   中英

云存储中的 Memory 问题 Function

[英]Memory issues in a Cloud Storage Function

我已经部署了一个存储触发器云 function,它需要更多 memory。在部署 GCF 时,我已经通过以下方式使用适当的标志进行了部署。

gcloud functions deploy GCF_name--runtime python37 --trigger-resource bucket_name --trigger-event google.storage.object.finalize --timeout 540s --memory 8192MB

但我在谷歌云控制台中观察到,memory 利用率 map 不会超过 2GB。 在日志中,我收到此错误, Function execution took 34566 ms, finished with status: 'connection error' ,这是由于 memory 短缺而发生的。 我能得到一些帮助吗?

图像利用率图

已编辑

该应用程序将文本文件上传到包含一定数量样本的存储中。 每个文件在上传到存储时都会被读取,并且数据会附加到预先存在的文件中。 样本总数最多为 75600002。这就是我需要 8GB 数据的原因。 它在将数据附加到文件时出现连接错误。

def write_to_file(filename,data,write_meta = False,metadata = []):
    file1 = open('/tmp/'+ filename,"a+")
    if write_meta:
        file1.write(":".join(metadata))
        file1.write('\n')
    file1.write(",".join(data.astype(str)))
    file1.close()

每次上传后 memory 利用率 map 都是一样的。

您正在将文件写入内存文件系统/tmp 因此,请在完成上传后删除该文件。 事实上那些:

您编写的文件消耗 memory 可用于您的 function,并且有时在两次调用之间持续存在。 未能显式删除这些文件可能最终导致内存不足错误和随后的冷启动。

参考: https://cloud.google.com/functions/docs/bestpractices/tips#always_delete_temporary_files

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM