问答题979/1593如何检查Javascript中的内存泄漏?

难度:
2021-09-25 创建

参考答案:

浏览器

Chrome 浏览器查看内存占用,按照以下步骤操作。

预览

1、打开开发者工具,选择 Timeline 面板
2、在顶部的Capture字段里面勾选 Memory
3、点击左上角的录制按钮。
4、在页面上进行各种操作,模拟用户的使用情况。
5、一段时间后,点击对话框的 stop 按钮,面板上就会显示这段时间的内存占用情况。

如果内存占用基本平稳,接近水平,就说明不存在内存泄漏。

预览

反之,就是内存泄漏了。

预览

命令行

命令行可以使用 Node 提供的process.memoryUsage方法。

1console.log(process.memoryUsage()); 2// { rss: 27709440, 3// heapTotal: 5685248, 4// heapUsed: 3449392, 5// external: 8772 }

process.memoryUsage返回一个对象,包含了 Node 进程的内存占用信息。该对象包含四个字段,单位是字节,含义如下。

预览

rss(resident set size):所有内存占用,包括指令区和堆栈。
heapTotal:"堆"占用的内存,包括用到的和没用到的。
heapUsed:用到的堆的部分。
external: V8 引擎内部的 C++ 对象占用的内存。

判断内存泄漏,以 heapUsed 字段为准。

最近更新时间:2024-01-25

赞赏支持

预览

题库维护不易,您的支持就是我们最大的动力!