【发布时间】:2015-05-16 12:10:39
【问题描述】:
看看这个示例代码,它在 nodejs 中复制了一个文件。
var fs = require('fs');
var out = fs.createWriteStream('1_GB_FILE_COPY');
var inp = fs.createReadStream('1_GB_FILE');
inp.pipe(out);
inp.on('end', function() {
console.log("end");
})
process.stdin.on('data', function() {});//just to keep process alive after copy
一切都好,这段代码可以正常工作,并且副本已制作完成。 Nodejs 在复制过程中使用了大约 140MB 的内存。但是在复制完成后,它永远不会释放这个内存。这是正常的吗?为什么节点保留此内存?有什么办法可以强制它冲洗吗?
【问题讨论】:
-
你怎么知道内存没有被释放?
-
来自系统监视器!即使在复制完成后,它也会使用 140mb 的内存。
标签: javascript node.js stream