我们目前正在使用 Firebase Functions 和 Node 14 公共预览版。
我们需要将函数的内存增加到 1Gb 以上。
Google Cloud 函数的文档指定必须为最新运行时设置 max_old_space_size,文档显示:
gcloud functions deploy envVarMemory \
--runtime nodejs12 \
--set-env-vars NODE_OPTIONS="--max_old_space_size=8Gi" \
--memory 8Gi \
--trigger-http
Run Code Online (Sandbox Code Playgroud)
但是,该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 …Run Code Online (Sandbox Code Playgroud)