Javascript NodeJS流-内存不足

Javascript NodeJS流-内存不足,javascript,node.js,stream,out-of-memory,Javascript,Node.js,Stream,Out Of Memory,我在尝试nodejs流时,在我看来遇到了一些奇怪的事情 可写管道 const{ 可写, 可读的 }=需要('流'); const mywriteable=新可写({ 写入(块、编码、回调){ 回调函数() }, }); const myReadable=新可读({ 读(){ this.push(Buffer.from([1,2,3,4,5,6])) } }); myReadable.pipe(myWritable); 这段看似无害的代码会导致线性内存增加,10秒后,进程会因内存不足错误而停止

我在尝试nodejs流时,在我看来遇到了一些奇怪的事情

可写管道
const{
可写,
可读的
}=需要('流');
const mywriteable=新可写({
写入(块、编码、回调){
回调函数()
},
});
const myReadable=新可读({
读(){
this.push(Buffer.from([1,2,3,4,5,6]))
}
});
myReadable.pipe(myWritable);
这段看似无害的代码会导致线性内存增加,10秒后,进程会因内存不足错误而停止

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
虽然这段代码并没有真正的意义,但我仍然不明白为什么它会占用这么多内存。我认为,它应该只从可读流创建缓冲区,将其导入可写流,然后对所有内容进行垃圾收集

管道到文件
const{
可读的
}=需要('流');
const mywriteable=require('fs')。createWriteStream('/dev/null'))
const myReadable=新可读({
读(){
this.push(Buffer.from([1,2,3,4,5,6]))
}
});
myReadable.pipe(myWritable);
在这种情况下,如果写操作实际使用了文件系统,那么进程运行得很好,没有任何明显的内存使用

那么,你有没有想过引擎盖下到底发生了什么