Node.js内存填满了

Rya*_*edy 5 memory node.js

我正在尝试编写一个下载大型zip文件的程序,将其解压缩到内存中,然后将内容(一系列CSV文件)推送到MongoDB.但是,我一直在点程序停止并打印

FATAL ERROR: CodeRange::GetNextAllocationBlock Allocation failed - process out of memory
Run Code Online (Sandbox Code Playgroud)

当我们不再使用缓冲区时,我一直将缓冲区设置为null,一旦它们在Mongo中就将记录设置为null,并且防止一次处理多个文件.这些都没有帮助.释放内存还有其他技巧吗?

Alf*_*red 10

我会考虑的事情是(不确定它是否会按预期完成):

确保参考文献不见了:

手动执行GC并增加v8堆大小:

从父进程产生(并杀死)子进程来做工作:

这样我认为操作系统将回收子进程的内存,即使它没有返回内存.

Ram作为文件系统:

这样你就可以将文件系统视为内存(让操作系统将其放入内存中).

使用空闲列表: