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
我有一个 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