无需登录 数据私有 本地保存

JS堆内存使用监控 - performance.memory

15
0
0
0

JS 堆内存使用监控

实时监控 V8 引擎的 JavaScript 堆内存,检测潜在内存泄漏并了解内存分布。需要基于 Chromium 的浏览器(Chrome / Edge)。

堆大小限制
-- MB
已用堆大小
-- MB
总堆大小
-- MB
使用率
0%
0%
堆内存趋势图
暂无数据

常见问题与知识点

堆(Heap)是 JavaScript 引擎分配对象、字符串、闭包等动态数据的内存区域。与栈(Stack)不同,堆内存没有严格的结构,由垃圾回收器(GC)管理释放。performance.memory 提供的三个指标分别对应:jsHeapSizeLimit(堆最大容量)、totalJSHeapSize(已分配堆总量,包含空闲)、usedJSHeapSize(实际活跃对象占用的内存)。

performance.memory 是 Chrome 浏览器提供的非标准扩展属性,仅在基于 Chromium 的浏览器(Chrome、Edge、Opera 等)中可用。Firefox、Safari 等浏览器未实现此 API。请换用 Chrome 访问本工具。

如果 usedJSHeapSize 长期接近 jsHeapSizeLimit,可能发生内存泄漏或页面占用过大。可使用 Chrome DevTools 的 Memory 面板分析堆快照,或检查是否存在未清理的定时器、闭包、全局变量等。本工具提供的“模拟分配”按钮可帮助验证 GC 是否能正常回收临时对象。

强制 GC 需要浏览器启动时添加 --js-flags="--expose-gc" 参数,此时 window.gc 才可用。在生产环境中没有此方法,通常 GC 会自动触发。单击此按钮仅作为测试辅助,若不可用会提示用户。

开启监控后,长时间观察图表。如果 usedJSHeapSize 持续上升且 GC 后不回落,可能表示存在内存泄漏。结合“模拟分配”按钮反复分配内存,观察 GC 后是否能恢复到释放前水平,若不能则表明泄漏。