javascript – 任务管理器显示内存泄漏,但堆快照没有

我每5秒运行一次大量的 JavaScript,任务管理器显示内存使用量不断增加.但是Heap快照没有.如果我停止脚本,大约半分钟两分钟后内存就会被清除.

更新:

如果我长时间离开脚本,内存会一直增加,直到浏览器崩溃.
我还尝试运行chrome dev工具的时间线测试,它们也没有显示内存使用量的增加,与Heap快照相同.所以我想这是一种泄漏,但我无法理解泄漏的是什么.

另一件我无法确认的事情,因为我无法安装以前的Chrome版本,因为我不记得之前发生过这种情况(< 24 Chrome版本)了. IE10在不增加内存的情况下运行此测试.这可能是新Chrome的问题吗?

解决方法

假设您指的是Chrome开发人员工具,您可能看不到堆快照中的内存增加,因为堆快照分析器在快照之前运行垃圾收集器.

看到增加的内存使用量,特别是在活动处理期间,是很正常的.垃圾收集器不会不必要地运行.如果你的机器有备用的内存,它会让预留的内存增长.如果你开始推动可用内存的限制,收集器应该运行.你应该允许这种情况发生,看它是否确实如此.

由于您在空闲时段之后报告内存下降到其原始级别,这表示没有内存泄漏,并且垃圾收集器能够正确收集所有已分配的堆对象.

但是,IANAGE(我不是Google工程师).我建议阅读Heap Profiler documentation以及相关的Memory 101 page作为背景.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


kindeditor4.x代码高亮功能默认使用的是prettify插件,prettify是Google提供的一款源代码语法高亮着色器,它提供一种简单的形式来着色HTML页面上的程序代码,实现方式如下: 首先在编辑器里面插入javascript代码: 确定后会在编辑器插入这样的代码: <pre
这一篇我将介绍如何让kindeditor4.x整合SyntaxHighlighter代码高亮,因为SyntaxHighlighter的应用非常广泛,所以将kindeditor默认的prettify替换为SyntaxHighlighter代码高亮插件 上一篇“让kindeditor显示高亮代码”中已经
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面
如何用js控制图片放大缩小
JS怎么获取当前时间戳
JS如何判断对象是否为数组
JS怎么获取图片当前宽高
JS对象如何转为json格式字符串
JS怎么获取图片原始宽高
怎么在click事件中调用多个js函数
js如何往数组中添加新元素
js如何拆分字符串
JS怎么对数组内元素进行求和
JS如何判断屏幕大小
js怎么解析json数据
js如何实时获取浏览器窗口大小
原生JS实现别踩白块小游戏(五)
原生JS实现别踩白块小游戏(一)