问题标签 [memory-leaks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Web服务内存泄漏的原因
我们有一个 Web 服务,它使用越来越多的私有字节,直到该应用程序停止响应。托管堆(主要是 Gen2)将显示大约 200-250 MB,而私有字节显示超过 1GB。托管堆外内存泄漏的可能原因是什么?
我已经检查了以下内容:
- 多产的动态程序集(Xml 序列化、正则表达式等)
- 会话状态(关闭)
- System.Policy.Evidence 内存泄漏(已安装 SP1)
- 线程死锁(不使用Join,只使用锁)
- SQLOLEDB的使用(使用SqlClient)
我可以检查哪些其他来源?
memory-leaks - 框架中的静态 EventHandler 内存泄漏
我正在解决我们在 .NET WinForms 应用程序中遇到的一些内存问题。我正在使用SciTech 的 .NET Memory Profiler和dotTrace,它们似乎都在通过 .NET Framework 控件中的静态事件处理程序指示根分配。从 google'ing 周围,我在这里和这里找到了这方面的报告,但这似乎是在 .NET Framework 的 v1.1 和承诺的 2.0 修复上报告的。我们在 2.0 上运行,我们仍然看到这些问题。我发现的前 25 个内存违规者都指向这些静态事件处理程序,特别是 SystemEvents.UserPreferenceChanged。 这家伙竭尽全力寻找一种方法来放松这些处理程序。我还没有尝试过,但我确实尝试了 Microsoft 支持票中提到的解决方法,但没有一个对我有用。
我很清楚事件处理程序(尤其是长期存在的静态处理程序)的泄漏潜力,但这几乎是我无法控制的。有人对此有经验吗?
delphi - Delphi 的 Profiler 和内存分析工具
我最近从 Delphi 4 升级到 Delphi 2009。在 Delphi 4 中,我一直使用Primoz Gabrijelcic 的 GpProfile作为分析器,使用 Turbo Power 的 Memory Sleuth进行内存分析和泄漏调试。两者都对我很有效。但我现在需要可以与 Delphi 2009 配合使用的新工具。
Delphi 的分析/分析工具的领先者显然是 AutomatedQA 的 AQTime。他们最近甚至收购了Atanas Soyanov 的 Memproof,我认为这是一款出色的免费内存分析工具,并将其功能整合到 AQTime 中。但是 AQTime 对于单个程序员来说是非常昂贵的。它的成本实际上超过了升级到 Delphi 2009 的成本!
所以我的问题是:在您满意并推荐的当前版本的 Delphi 中,是否还有其他更便宜的选项来进行分析和内存分析,或者我应该硬着头皮为 AQTime 支付大笔费用?
附录:似乎早期的回答者表明 Delphi 中已经包含的 FastMM 管理器非常适合查找内存泄漏。
那么,源代码分析有什么好的替代方案吗?
我很好奇的是Michael Adolph 的 ProDelphi,它的成本不到 AQTime 的六分之一。你用它吗?AQTime值得付出六倍的代价吗?
附录 2:我下载了 AQTime 和 ProDelphi 的试用版。
AQTime 一开始有点不知所措,有点混乱。花了几个小时才找到连接它所需的一些技巧。
ProDelphi 非常像我习惯的 GpProfile。但它的窗口杂乱无章,不如 GpProfile 好。
对我来说,最大的区别似乎是:
ProDelphi 更改您的代码。AQTime 没有。如果出现问题,更改代码可能会损坏您的数据,但我对 GpProfile 的经验是它从未发生在我身上。AQTime 加一。
ProDelphi 要求您关闭优化。但是你想要分析的是你的程序优化,它将运行的方式。AQTime 加一。
ProDelphi 只能剖析到函数或过程。AQTime 可以细分到单独的行。AQTime 加 2。
ProDelphi 有一个免费版本,可以分析 20 个例程,其专业版的价格不到 100 美元。AQTime 是 600 美元。加 4 ProDelphi。
现在比分是4-4。你怎么看?
附录 3:Primoz Gabrijelcic 计划让 GpProfile 再次工作。请参阅他对以下一些回复的评论。他在 StackOverflow 上担任Gabr。
附录 4:似乎毕竟可能有探查器解决方案。请参阅Andre 的开源 asmprofiler,如下所述。
perl - 是否有任何工具可以在我的 Perl 程序中查找内存泄漏?
我在 Windows 2003 Server 上使用 ActiveState Perl 5.6,并且遇到了一些内存泄漏问题。是否有任何好的工具(甚至可以提供线索的坏工具)我可以用来帮助找到它们。
perl - 为什么会泄漏?
为什么这会在 Perl 中泄漏?
谢谢!
memory-leaks - 最佳内存泄漏定义
我觉得开发人员在谈论内存泄漏,但是当你问他们这意味着什么时,很多人都不知道。为了防止这些情况,让我们决定一个。
请不要维基百科定义...
您对 内存泄漏的最佳定义是什么 ?防止它们的最佳方法是什么?
java - Java 在对象释放和垃圾回收后仍然使用系统内存
我正在运行 JVM 1.5.0(Mac OS X 默认),并且正在活动监视器中监视我的 Java 程序。我有以下内容:
}
那么为什么即使垃圾收集器似乎工作得很好,物理内存也没有被释放呢?
javascript - window.unload 中的 Javascript 内存泄漏清理
Javascript 客户端应用程序。
试图消除内存泄漏会导致丑陋的(至少可以说)代码。
我试图在 window.unload 中进行清理,而不是弄乱所有试图避免它们的代码。
我们主要使用element.onevent=function(){..};
模式,这会导致关闭(主要是想要的)和内存泄漏。
我们不使用 javascript 框架。
关于如何在退出时正确清理有什么想法吗?
有没有人做同样的事情,或者你想避免他们?
performance - 最好在 VBScript 中访问 Windows (XP) 性能计数器
我正在使用 Quick Test Professional (QTP) 9.5 和 Internet Explorer 6 测试浏览器内存泄漏的 Web 应用程序。PerfMon 用于监控一段时间内的内存使用情况,但它的数据必须与测试结果同步以找出哪些步骤触发浏览器内存泄漏。由于 QTP 的脚本语言是 VBScript,我怎样才能获得特定的性能计数器(在这种情况下,进程“IExplore.exe”中的“Private Bytes”)?