我正在尝试编写一个下载大型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作为文件系统:
这样你就可以将文件系统视为内存(让操作系统将其放入内存中).
使用空闲列表: