Javascript NodeJS内存泄漏-什么是系统对象和类型化数组?

Javascript NodeJS内存泄漏-什么是系统对象和类型化数组?,javascript,node.js,v8,Javascript,Node.js,V8,我有一个应用程序,它一次读取一个文件夹中的.tar.gz文件,并将处理后的数据写入磁盘。所有东西都在流上运行,内存中不应该有超过几百个排队的承诺 但是,在几个小时内,占用的内存从~60mb增加到2gb,此时节点崩溃 我创建了应用程序的堆快照 一个是在运行一段时间后创建的,当驻留集大约为80mb时,正如process.memoryUsage()所报告的: 一段时间后,RSS的容量约为120mb: 虽然它在一夜之间积累了2gb的容量,但我们可以看到TypedArrays(我认为steram缓冲区

我有一个应用程序,它一次读取一个文件夹中的
.tar.gz
文件,并将处理后的数据写入磁盘。所有东西都在流上运行,内存中不应该有超过几百个排队的承诺

但是,在几个小时内,占用的内存从~60mb增加到2gb,此时节点崩溃

我创建了应用程序的堆快照

一个是在运行一段时间后创建的,当驻留集大约为80mb时,正如
process.memoryUsage()
所报告的:

一段时间后,RSS的容量约为120mb:

虽然它在一夜之间积累了2gb的容量,但我们可以看到
TypedArrays
(我认为steram缓冲区也算在那里?)并且
系统对象也显著增长

首先,为什么它比系统报告的内存使用量(约12mb对150mb)小得多? 其次,基于这种增长,我们可以推断并假设类型化数组和系统对象进一步增长,并且是随着时间的推移导致内存过度使用的因素之一

因此,类型化数组究竟是什么?它们与流有何关联?什么是系统对象

第三次会议的过程。记忆,略长于第二次会议:

{
  "rss": 149794816,
  "heapTotal": 51036160,
  "heapUsed": 12103496,
  "external": 1531733,
  "arrayBuffers": 329913
}

如果你还没有在搜索中找到这些,它们可能有助于你所询问的基本知识:如果你还没有在搜索中找到这些,它们可能有助于你所询问的基本知识:以及