Javascript不释放内存?

Javascript不释放内存?,javascript,node.js,Javascript,Node.js,我在Ubuntu上做了一个简单的实验:制作了1500mb的虚拟文件,然后对该文件进行了fs.readSync。然后使f=undefined并将其重新分配给15。我希望在我设置f=undefined后内存将被释放。我在浏览器(Chrome)中使用文件阅读器做了同样的实验,得到了同样的结果:只有在关闭或重新加载选项卡后,内存才会被释放。应该是这样吗 下面的图表来自Ubuntu系统监视器,显示内存使用情况 在“内存”选项卡中,如果单击左上角的“垃圾箱”图标(收集垃圾),它是否会下降?如果是这样,那么您

我在Ubuntu上做了一个简单的实验:制作了1500mb的虚拟文件,然后对该文件进行了
fs.readSync
。然后使
f=undefined
并将其重新分配给15。我希望在我设置
f=undefined
后内存将被释放。我在浏览器(Chrome)中使用
文件阅读器做了同样的实验,得到了同样的结果:只有在关闭或重新加载选项卡后,内存才会被释放。应该是这样吗

下面的图表来自Ubuntu系统监视器,显示内存使用情况


在“内存”选项卡中,如果单击左上角的“垃圾箱”图标(收集垃圾),它是否会下降?如果是这样,那么您就不会出现内存泄漏,并且Chrome已经决定不需要释放内存(也就是说,这是Chrome的一个实现细节,而不是代码的问题),垃圾收集器不会在开发人员重新分配变量后运行。垃圾收集的实现取决于引擎,开发人员无法预测其背后的确切逻辑。我假设内存没有泄漏。文件的内容可能已被释放,但堆的大小没有改变,因为引擎可能会假定其他内容可能使用同样多的内存。如果另一个进程声明内存,则会释放内存,或者由您的进程显式释放内存。