Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解释Javascript中本机内存和堆内存之间的差异_Javascript_Google Chrome_Memory Management - Fatal编程技术网

解释Javascript中本机内存和堆内存之间的差异

解释Javascript中本机内存和堆内存之间的差异,javascript,google-chrome,memory-management,Javascript,Google Chrome,Memory Management,我正在调试一个使用了太多内存的Javascript应用程序。在Heap Profiler中,它说大约有300MB,但根据Chrome的任务管理器,它总共使用了大约950MB,以及40MB的“Javascript内存” 基于以下问题,任务管理器和堆探查器之间的650MB差异似乎是由于本机内存造成的: 然而,我不知道什么是“本机内存”,谷歌搜索也没有什么帮助什么类型的东西进入本机内存,我如何调试使用了这么多本机内存的东西? 可能的重复项(所有未答复): 我不会就此出手,但我假设本机内存是chro

我正在调试一个使用了太多内存的Javascript应用程序。在Heap Profiler中,它说大约有300MB,但根据Chrome的任务管理器,它总共使用了大约950MB,以及40MB的“Javascript内存”

基于以下问题,任务管理器和堆探查器之间的650MB差异似乎是由于本机内存造成的:

然而,我不知道什么是“本机内存”,谷歌搜索也没有什么帮助什么类型的东西进入本机内存,我如何调试使用了这么多本机内存的东西?

可能的重复项(所有未答复):


我不会就此出手,但我假设本机内存是chrome为javascript任务保留的全部内存片。这就是为什么它会显示在任务管理器中。 另一方面,堆内存包含javascript任务分配的所有对象。当这样一个对象不再有引用时,它可能会被垃圾收集器从堆中删除。 如果您的javascript任务收集了越来越多的堆,那么您的代码中可能存在漏洞。堆探查器可以支持您查找此类内存泄漏,但一般来说,在编写任何代码时,请注意清除对所有对象的引用