(本文图片较大 请耐心等待)
先注明一下: 这篇文章只是讲解 在IE下如何利用 sIEve(一个drip的加强版) 来发现 内存泄露和内存回收问题,
而不是讲解关于 IE的内存管理和内存泄露原理的文章.
关于IE的内存管理和内存泄露的更多知识还麻烦大家自行google了.
sIEve 是 一个帮助我们查看ie浏览器(他本身基于操作系统安装的ie内核)内存的使用和内存泄露问题的.
它可以:
1 列出当前页面内所有dom节点的基本信息(html id style 等)
2 页面内所有dom节点的高级信息 (内存占用,数量,节点的引用)
3 可以查找出页面中的孤立节点
4 可以查找出页面中的循环引用
5 可以查找出页面中产生内存泄露的节点
更详细的帮助文档见:
http://home.orange.nl/jsrosman/sievehelp.htm
我下面只是简单介绍一下
请大家先下载附件里的 演示文件 和 sIEve 软件
运行后, 在上面的address栏内输入 要测试的页面地址 如 file:///D:/mydev/ie_mem/test_ie.html
出现下图:
(图)
[img] http://fins.iteye.com/upload/picture/pic/9572/3418653e-a0c3-3e50-95db-7f13c8774daa.jpg[/img]
下端是内存变化的曲线图 右上角是各种功能按钮
右下角是页面内的信息(很重要),该列表自动定时刷新. 5列信息依次是:
内存总体占用量(单位kb)
和上次列表自动刷新时相比,变化的量
当前的dom节点数目
产生内存泄露的节点数目
日志信息(节点发生异常时记录一些信息 不常用)
下面开始看一下他是如何使用的
1 ie下不好的移除节点的方式
点击测试页面的"_removeNode div_1"按钮
大家可以看到 div被从页面内移除, 但是看右面的信息列表里 "当前的dom节点数目"并没用变化
点击右上角的功能按钮: show in use.
这时候大家可以在弹出的窗口内 看到 id=div_1 的节点 是孤立状态 而没有被回收 (还有两个孤立节点 大家不用管)
(图)
2 ie下更好的移除节点的方式
关掉弹出的窗口, 点击 测试页面的"removeElement div_2"按钮, div_2被移除 而且"当前的dom节点数目"减少
查看show in use. 大家可以看到 div_2及其子节点已经被真的移除了.
上面两个试验演示了如何查看孤立节点, 同时说明了第二种移除节点的方法更有效.
3 循环
关掉弹出的窗口, 点击 测试页面的"createCycle div_3"按钮,
然后点击右上角的功能按钮: scan now. (旁边的那个自动检查cycle选项有问题 我这里选上后常常会报错)
然后再点show in use. 查看使用中的节点.
大家可以看到 div_3节点 形成了 Cycle ,同时看后面的outerHTML大致可以分析出循环的原因.
( style节点也会被当作 循环引用, 不知道是ie的问题还是这个软件的问题 ,反正大家没必要在意style)
(图)
4 内存泄露
关掉弹出的窗口, 点击 测试页面的"createMemLeak div_4"按钮.
之后页面会自动刷新. 大家可以在右边列表里看到 leaks的数量增加了
点击 show leaks 就可以看到内存泄露的点在哪里了
(图)
最后补充一下,在弹出的窗口里 还可以做查看节点的更多信息 (双击节点)
以上只是这个工具的大致用法
更详细的帮助文档请见:
http://home.orange.nl/jsrosman/sievehelp.htm
这个软件似乎很久没更新了 不知道大家还有什么
好的类似的工具推荐呢?
如果有 记得告诉我一下 谢谢了 先
分享到:
相关推荐
这个控件能够模拟真实的浏览器环境,同时提供了内存监控功能,实时跟踪和记录IE浏览器组件在加载和执行网页代码时的内存使用情况。用户可以打开存在嫌疑或者已知内存泄露问题的网页,通过sIEve来观察内存占用的变化...
8. **资源管理**:对于大型应用和多任务环境,有效地管理内存资源至关重要,sIEve可以帮助确保IE浏览器在多任务环境下仍能保持稳定运行。 9. **故障排查**:当用户遇到浏览器异常时,使用sIEve可以辅助定位问题源头...
标题中的“IE内存泄露分析工具:sIEve/Drip”指的是两个专门用于检测和分析Internet Explorer浏览器内存泄漏问题的工具。sIEve和Drip是独立的工具,但它们都致力于帮助开发者定位和解决IE浏览器中的内存管理问题。 ...
浏览器内存监测工具是开发者在优化Web应用性能时不可或缺的辅助工具,它们可以帮助识别和解决内存泄漏问题,提高网页和Web应用程序的稳定性和效率。本文将详细介绍三款知名的内存监测工具:Drip、sIEve和...
3. **监控与分析**:当浏览器执行操作(如加载新页面、刷新、关闭标签等)时,sIEve会持续监控内存使用情况,并在必要时获取新的内存快照。通过对比不同时间点的内存占用,可以识别出哪些操作可能导致内存泄露。 4....
"ie内存泄露监控软件"是专门针对IE浏览器设计的一种工具,旨在检测和分析IE客户端可能出现的内存泄露情况。内存泄露是指程序在分配内存后未能正确释放,随着时间的推移,会导致系统资源逐渐耗尽,影响应用程序的性能...
在描述中,“在IE下监控页面内存资源和DOM节点”说明了sIEve的主要功能,即帮助开发者了解和分析Internet Explorer浏览器在运行网页时如何处理内存和DOM结构。DOM(文档对象模型)是网页内容的结构化表示,而内存...
**IE 内存检测工具详解** 在信息技术领域,尤其是网页浏览器开发和优化的过程中,内存管理是一个至关重要的环节。...在实际项目中,定期使用内存检测工具,结合性能监控,是保持软件健康运行的关键步骤。
sIEve是一款专门用于检测和分析ExtJS应用在IE浏览器中内存泄漏的工具。由于早期的Internet Explorer浏览器在内存管理方面存在一些不足,开发者在使用ExtJS构建应用时可能会遇到内存占用不断增加,导致应用运行缓慢...
2. **IE内存泄漏**:在IE浏览器中,由于其特定的内存管理机制,当JavaScript对象引用了DOM元素,而这些DOM元素又不再被使用时,IE可能不会正确地释放这些资源,导致内存泄漏。这种情况在其他现代浏览器中并不常见,...
3. 监控应用程序的运行过程,sIEve会记录内存使用情况。 4. 当发现内存使用异常增加或者应用程序出现性能下降时,sIEve会提供详细的报告,指出可能的内存泄漏点。 5. 分析sIEve提供的报告,定位问题源头,修改代码以...
为了检测和分析内存问题,可以使用如Drip-0.5.exe和sIEve-0.0.8.exe这样的工具来检查DOM节点的内存占用,而对于JavaScript相关的内存问题,则需要结合经验和Windows内存工具进行深入诊断。 总结,理解网页核心四...
这类软件能够帮助开发者监控应用程序的内存使用情况,包括查看网站在运行过程中内存的动态变化、DOM(文档对象模型)节点的数量以及未被正确销毁的组件。DOM是HTML和XML文档的编程接口,它的大小直接影响着浏览器...
JavaScript内存泄漏检测工具的工作原理通常是通过分析JavaScript引擎的内存分配和回收过程,监控内存使用情况,找出长时间占用内存而未被释放的对象。这些工具通常会提供详细的报告,包括泄漏对象的类型、大小、引用...
"个人用过,感觉不错"这一评价意味着该工具有一定的实用性和有效性,至少对提供评价的个人而言,它在解决IE内存泄漏方面表现出良好的效果。 **标签解析:** 标签 "sIEve" 直接对应于工具的名称,强调了我们讨论的...
sIEve 界面很简单,左侧:内嵌了一个浏览器控件,我可以访问任何网址,下方还有个内存检查,这样我们可以方便看出内存的升降情况以及dom使用数量曲线。 右侧面板,我们可以通过 Show in use 看到目前页面使用的dom...
它能够帮助开发者识别JavaScript代码中导致内存泄漏的部分,通过记录和分析IE浏览器的内存状态,找出那些不再使用的对象仍然被引用,从而导致内存无法被正确回收。 ### 3. JSLeaksDetector:JavaScript内存泄漏探测...
1. **压力测试**:Sieve可以模拟大量并发连接,测试网络设备在高负载下的表现,这有助于识别潜在的性能瓶颈和稳定性问题。 2. **基准测试**:通过生成不同类型的网络流量,Sieve可以测量设备在处理特定协议(如TCP...
1. **实时监控**:Drip会在Web应用运行时持续监测内存使用情况,尤其是在页面加载、DOM操作、脚本执行等关键事件时。 2. **泄漏检测**:通过比较不同时间点的内存占用,Drip能识别出不应该被持久保留的对象,这些...
通常,内存泄露在JavaScript中发生是因为动态创建的元素、事件处理函数或其他资源没有被正确地清理和释放。 jQuery库在处理DOM操作和事件绑定时,如果不注意,可能会引发内存泄漏。例如: 1. **事件监听器**:当...