gpt4 book ai didi

javascript - Nodejs writestream 内存使用情况

转载 作者:太空宇宙 更新时间:2023-11-04 02:26:10 27 4
gpt4 key购买 nike

看看这个示例代码,它在 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 的内存。但在复制完成后,它永远不会释放该内存。这是正常的吗?为什么 Node 保留这个内存?有什么办法可以强制它冲洗吗?

最佳答案

系统监视器为您提供了关于 Node 应用程序实际使用的内存使用情况的非常不准确的 View 。操作系统如何为进程分配内存和 Node 如何管理自己的内存之间存在很大差异。您可以使用 chrome 开发工具来获得更好的外观。我运行了您的代码,拍摄了内存快照之前和之后的数据,比较了两者并发现了以下内容:

enter image description here

简而言之,您绝对不会像您想象的那样泄漏 140MB。要亲自了解这一点,请遵循以下一个很好的指南:

https://github.com/felixge/node-memory-leak-tutorial

关于javascript - Nodejs writestream 内存使用情况,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30275497/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com