nodejs中的分配失败错误

时间:2014-05-23 18:50:44

标签: node.js

我有一个试图读取100,000个文件的脚本(.txt大约800KB)。我使用fs.readFileSync()读取每个文件,将内容推送到一个小数据库,然后继续读取下一个文件。我只将一半的文件存储在DB中。该脚本在开始时速度很快,但在达到38000个文件时速度变慢,最终因以下错误而死亡。

FATAL ERROR: CALL_AND_RETRY_2 Allocation failed - process out of memory

我尝试使用更多内存运行,暴露GC但无济于事。

有人有任何猜测吗?

1 个答案:

答案 0 :(得分:0)

您没有关闭文件。 完成操作后使用fs.close(fd, callback)功能。

由于您使用的是同步版本,因此fs.closeSync(fd)可能会对您产生更多吸引力。