Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 与node.js同步写入超大数据块_Javascript_Node.js_Io - Fatal编程技术网

Javascript 与node.js同步写入超大数据块

Javascript 与node.js同步写入超大数据块,javascript,node.js,io,Javascript,Node.js,Io,我试图将一个非常大的数据块(由JSON.stringify生成)写入一个文件。它必须是同步的,因为我想在过程中保存它:退出事件。但是,当使用fs.writeFileSync()时,节点抛出以下消息: FATAL ERROR: JS Allocation failed - process out of memory 我尝试了fs.createWriteStream(),但它似乎不起作用。这段代码以中等数据量输出0字节,并以较大数据量抛出相同的错误。我认为您需要的是一个“泵”。类似的东西将释放内核

我试图将一个非常大的数据块(由JSON.stringify生成)写入一个文件。它必须是同步的,因为我想在过程中保存它:退出事件。但是,当使用fs.writeFileSync()时,节点抛出以下消息:

FATAL ERROR: JS Allocation failed - process out of memory

我尝试了fs.createWriteStream(),但它似乎不起作用。这段代码以中等数据量输出0字节,并以较大数据量抛出相同的错误。

我认为您需要的是一个“泵”。类似的东西将释放内核缓冲区,它们不必一直保存所有文本。

我的问题是JSON.stringify。数据太大,无法存储在唯一的javascript字符串中


我通过每行序列化一个属性解决了这个问题(因此有X个对JSON.stringify的调用,其中X是我对象中的属性数)。我的反序列化程序通过添加每个属性来重建对象。

这就是streams for的原因,您能否解释fs.createWriteStream()失败的原因?@Mustafa我不知道。最后一个文件不包含任何内容。@NisonMaël字符串的长度是多少?您确定FS操作失败了,而不是我刚才检查的JSON.stringify中的
JSON.stringify
?@elmigranto,失败似乎发生在JSON.stringify中。这很奇怪,以前的测试在writeFileSync中失败了。。。您知道增加节点内存限制的方法吗?Top似乎说我只使用了总内存的33%size@NisonMa我个人从来没有遇到过这样的问题,那只是一个猜测。无论如何,这看起来是相当最新的,但您可能需要自己的节点构建。这两个也可能有帮助:,。我不确定,我的数据源是一个字符串,只涉及一个流