Chrome 58+已移除performance.memory API,因其存在隐私风险;替代方案包括使用performance.getEntriesByType('navigation')获取间接内存指标、DevTools Memory面板手动快照,或Node.js中用process.memoryUsage()。

performance.memory 在 Chrome 中根本不可用
Chrome 从 58 版本起已移除 performance.memory API,调用它只会返回 undefined 或抛出 TypeError: Cannot read property 'memory' of undefined。这不是你代码写错了,是浏览器主动禁用了——出于隐私考虑,该 API 曾被用于指纹追踪,所以被彻底下线。Firefox 和 Safari 从未支持过它。
替代方案:用 performance.getEntriesByType('navigation') 看页面加载内存快照(仅限 Chromium 内核)
虽然 performance.memory 没了,但 Chromium(Edge、新版 Opera、Electron)仍保留一个隐藏能力:在页面 navigation 记录里附带近似内存信息。前提是开启 DevTools 或启动时加参数,且只对主文档有效。
实操建议:
- 启动 Chrome 时加上
--enable-precise-memory-info参数(仅开发调试用,无法网页内启用) - 刷新页面后执行:
const nav = performance.getEntriesByType('navigation')[0];<br>console.log(nav?.domContentLoadedEventEnd, nav?.transferSize, nav?.encodedBodySize);这些字段虽不直接等于内存占用,但encodedBodySize和资源加载量强相关,可间接反映内存压力 - 真正想看 JS 堆内存?必须打开 DevTools → Memory 面板 → “Take heap snapshot”,没有纯 JS API 能绕过这个
Node.js 环境下可用 process.memoryUsage(),但和浏览器无关
如果你在写 Electron 主进程、或用 Puppeteer 启动的 Node 脚本中想监控内存,process.memoryUsage() 是可靠选择,但它完全不适用于网页运行时。
生成可在 deepbi 沙箱 iframe 内运行或作为独立文件运行的交互式 HTML 页面,使用 `window.deepbi` JS SDK 实现数据查询、空间管理、文件浏览及用户操作。当用户提出以下需求时启用该能力: - 创建 KPI 仪表盘、数据表格、文件浏览器、成员列表、管理页面; - 明确要求“转成 dhtml”、“转译成 HTML”、“把 XX 页面转成……”、“控制台页面”、“管理后台”、“DeepBI 页面迁移”; - 提及位于 `apps/console/src/featur
常见误用点:
- 在浏览器中调用
process.memoryUsage()→ 报错ReferenceError: process is not defined - 在 Electron 渲染进程中直接调用 → 同样报错,除非显式通过
contextBridge暴露(且需权限控制) - 正确姿势:只在主进程或服务端 Node 环境使用,返回对象含
heapUsed、heapTotal等字段
真正在前端做轻量内存趋势监控,只能靠间接信号
没有标准 API,就只能借力打力。以下信号组合可帮你发现内存异常增长:
- 监听
beforeunload时记录window.performance.now()+ 页面 DOM 节点数:document.querySelectorAll('*').length,连续几次刷新后对比是否非线性增长 - 定时检查长生命周期对象(如全局缓存 Map、未销毁的 EventListener)数量变化
- 配合
PerformanceObserver监听longtask—— 长任务频发常伴随 GC 压力,是内存吃紧的副作用 - 注意:不要用
console.memory(已废弃),也不要依赖任何第三方库宣称的“实时内存读取”,它们最终都只是估算或报错兜底
真正的内存泄漏定位,还是得靠 Chrome DevTools 的 Allocation instrumentation on timeline 和 heap snapshot 对比。写代码时多留意闭包引用、定时器未清除、事件监听器未解绑——这些地方比任何检测代码都关键。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










