hint/force 节点 Google 云函数上的垃圾收集的任何方式

Any way to hint/force Garbage Collection on Node Google Cloud Function

我有一个 Google 云函数 运行 内存不足,尽管它不需要内存。

该函数从多个电子表格中编译信息,电子表格很大但按顺序处理。 从本质上讲,该功能的作用是:

spreadsheets.forEach(spreadsheet => {
   const data = spreadsheet.loadData();
   mainSpreadsheet.saveData(data);
});

数据在每个循环中都会被丢弃,因此垃圾收集器可以清理内存,但实际上这似乎并没有发生,而且进程在接近尾声时崩溃了。

我从其他答案可以看出 force garbage collection or even prevent node from over allocating memory

但是,这两个都涉及我无法使用云函数控制的命令行参数。有什么解决方法,还是我在使用 Google Cloud Functions 时遇到了这个问题?

一位同事告诉我将代码更改为

spreadsheets.forEach(spreadsheet => {
   let data = spreadsheet.loadData();
   mainSpreadsheet.saveData(data);
   data = null;
});

可能足以让 GC 关闭以清理该结构。

我持怀疑态度,但该功能现在 运行 已完成。原来你可以在 node

中提示 GC