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
}
如果你还没有在搜索中找到这些,它们可能有助于你所询问的基本知识:如果你还没有在搜索中找到这些,它们可能有助于你所询问的基本知识:以及