gpt4 book ai didi

firebase - 在节点 14 运行时部署 Firebase 函数并增加内存

转载 作者:行者123 更新时间:2023-12-04 12:33:09 25 4
gpt4 key购买 nike

我们目前在 node 14 公共(public)预览版中使用 Firebase 函数。
我们需要将函数的内存增加到 1Gb 以上。
documentation of Google Cloud functions指定必须为最新的运行时设置 max_old_space_size,文档显示:

gcloud functions deploy envVarMemory \
--runtime nodejs12 \
--set-env-vars NODE_OPTIONS="--max_old_space_size=8Gi" \
--memory 8Gi \
--trigger-http
然而, set-env-vars firebase deploy 中不存在选项
使用 firebase deploy --only functions:myFunction --set-env-vars NODE_OPTIONS="--max_old_space_size=4Gi"产生 error: unknown option '--set-env-vars'错误。
在部署一个繁重的功能时,我在逻辑上得到了一个内存不足的堆错误:
[1:0x29c51e07b7a0]   120101 ms: Mark-sweep (reduce) 1017.1 (1028.5) -> 1016.2 (1028.7) MB, 928.7 / 0.1 ms  (average mu = 0.207, current mu = 0.209) allocation failure scavenge might not succeed 
[1:0x29c51e07b7a0] 119169 ms: Scavenge (reduce) 1016.9 (1025.2) -> 1016.2 (1026.5) MB, 3.6 / 0.0 ms (average mu = 0.205, current mu = 0.191) allocation failure
我们可以看到该函数只有 1028Mb 的内存,而不是 4。
我们确实要求它使用 4Gb 进行部署:
functions
.runWith({ memory: '4GB', timeoutSeconds: 300 ,})
这里的关键是什么?

最佳答案

我们遇到了完全相同的问题。使用节点 12 或更多节点部署功能时似乎会发生这种情况。
这是解决此问题的解决方案:

  • 在 GCP 网络应用上查找您的函数
  • 点击“编辑”
  • 向下滚动并找到“运行时环境变量”
  • 添加具有值的键 NODE_OPTIONS:--max_old_space_size=4096

  • 这是设置的图片:
    enter image description here
    这真的很烦人,我没有找到任何解决方案来在命令行中部署时设置此设置。

    关于firebase - 在节点 14 运行时部署 Firebase 函数并增加内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67158368/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com