JavaScript内存:堆、本地、WebGL/GPU

3
有没有可能在 Chrome 中查看 JavaScript 的所有内存来源?据我所知,上述三个是可用的。
堆是基本的可GC JS对象。 “Native Memory” 不是堆的一部分..像DOM,TypedArrays,2D上下文ImageData等等。 WebGL也是一种内存来源。
我想知道我的代码使用了多少内存。 Chrome最近放弃了他们的原生分析器。堆分析对于大型内存Web应用程序根本不足够。
有没有办法获取关于我的代码使用这些内存来源的百分比的有用信息?

你使用过开发者工具(F12)并点击了“Profiles”选项卡吗? - Lee Taylor
是的。我倾向于使用Canary,因此可能与稳定版Chrome不同。Paul Irish进行了一项本地分析器实验,但最近被撤下了。可以看到Heap对象是Native(即C/C++ Chrome本机数据结构)的包装器,因此将被GC回收,但无法看到附加了多少Native内存,也无法看到可用的Native内存量。我想我说得对。 - backspaces
1个回答

0

我使用 Chrome 任务管理器(更多工具 | 任务管理器)估计本机内存。它显示私有内存、GPU 内存和 JavaScript 内存。私有内存 - JavaScript 内存 将是本机内存的近似值。但它无法表明不同类型资源分配了多少内存。

如果页面具有画布,则还会显示 GPU 内存。

chrome task manager


是的,我认为这是目前最好的选择。Chrome之前尝试过本地内存分析(我相信是Paul Irish),但没有持续下去。 - backspaces
我刚刚发现如果选择“memory-infra”标志,“chrome://tracing”可以显示有关内存使用情况的更多细节。 - Corina

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接