【发布时间】:2015-06-28 07:10:35
【问题描述】:
我尝试在具有 96GB RAM 的服务器上使用 fs.readFileSync 将大文件 (~6Gb) 加载到内存中。
问题是它失败并显示以下错误消息
RangeError:尝试分配大于最大大小的缓冲区:0x3fffffff 字节
不幸的是,我没有发现如何增加 Buffer,它似乎是一个常数。
如何克服这个问题并使用 Node.js 加载一个大文件?
谢谢!
【问题讨论】:
-
您可能希望分块处理文件。你想对文件做什么?您真的需要一次在 RAM 中存储全部内容吗?
-
是的,我需要一次 RAN 中的整个文件。该文件包含一个大哈希,我需要使用整个哈希。
-
“包含大哈希”是什么意思?你的意思是它包含你要放入哈希表的数据吗?为什么不能分段处理?