运行 JavaScript 过夜后系统挂起
System hang after running javascript over night
我的javascript非常简单。它只是不断调用 ajax 来下载数据并将其显示在我的屏幕上。我通过直接更新数据来重用这些 DOM 元素(使用 jquery 的 $(DIV).empty() 函数,然后附加到另一个内容)。但是,运行了一夜后,我的电脑挂起了,似乎在继续做某事。
我尝试通过一些火狐插件观察内存消耗。运行两个小时时,内存可能会增长 200MB ,但我不确定这是否只是由我的 js 或其他原因引起的。
我对这个问题有一些疑问。1.有没有监控它的好方法(比如特定网页使用了多少内存,占用了多少CPU资源,以及如何监控?2. 是否有任何通用方法来设计 JS Web 应用程序来避免此类问题?
谢谢,任何评论不胜感激!
某些版本的 Firefox 使用引用计数作为垃圾回收策略。在某些情况下,引用计数容易导致内存泄漏。
Internet Explorer和Mozilla Firefox是两个最主要的Web浏览器 通常与 JavaScript 中的内存泄漏有关。罪魁祸首 两个浏览器都是用于管理 DOM 的组件对象模型 对象。原生Windows COM和Mozilla的XPCOM都使用 用于内存分配的引用计数垃圾回收和 检索。引用计数并不总是与 用于 JavaScript 的标记和扫描垃圾收集。本文 重点介绍解决 JavaScript 代码中的内存泄漏的方法。看 了解有关 Firefox 中 COM 层内存处理的更多信息的资源,以及 即。
从 http://www.ibm.com/developerworks/web/library/wa-memleak/
我有一种预感,内存消耗是因为在jQuery中,每次完成ajax调用时,都会创建一个jqXHR来管理请求和后续处理(回调,状态检查等)。我在jQuery文档中没有看到任何自动清除这些内容。所以,你的JavaScript只是把它们堆起来。
http://api.jquery.com/jQuery.ajax/
您可以使用Chrome的时间轴功能来跟踪一段时间内的内存使用情况。它是内置开发人员工具的一部分。我确信Firebug或其他FF插件将提供相同的功能。
- JavaScript执行暂时挂起页面
- 是定义的操作系统睡眠/挂起期间setTimeout的行为
- Chrome浏览器“;挂起”;同时在循环中执行AJAX请求
- fullcalendar在删除导致浏览器挂起的多个事件时速度较慢
- 应用将图表转换为图像的jqplot代码时Chrome挂起
- 如何在不使用Internet Explorer的情况下从未挂起的HTML文件执行程序
- MongoDB collection.find()查询挂起
- 使用子字符串方法时应用程序挂起的原因
- 如何在AngularJS中取消挂起的请求
- 从node.js应用程序调用Mongoose Model.save()时挂起
- Chrome,Safari在从本地存储读取时挂起,而Firefox很好
- IE 10 挂起 XMLHttpRequest 6 分钟,然后响应请求(使用 AngularJS 实现 CRSF)
- 挂起 JavaScript 键关闭事件
- HERE 映射 JS API v3 集群提供程序挂起,添加许多数据点
- Ajax 调用挂起在 jQuery 中
- writeln img src将数据提交到外部系统-Firefox和IE挂起
- 在jQuery中,.state()如何确定一个承诺是挂起的、已解决的还是被拒绝的
- 运行 JavaScript 过夜后系统挂起
- 文件系统读取文件和 xml2js parseString 的挂起请求
- 系统吞噬任务完成后挂起