问题标签 [red-gate-ants]

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.

0 投票
4 回答
7156 浏览

c# - 列表对象的垃圾收集

我想问一下清理和处理List(Of Object)中收集的对象的效率是什么?

是不是通过调用 List.Clear() 方法会自动清理它收集的所有对象?

例如考虑下面的例子

当我运行上述应用程序 ANTS 内存分析器时,我可以看到内存泄漏 Font 和 FontFamily(我无法上传屏幕)以及如何删除这些泄漏

0 投票
1 回答
1478 浏览

c# - 无法使用 ANTS RedGate Memory Profiler 解决内存泄漏

我们正在使用 Prism 4 开发 WPF 应用程序,并且由于资源未释放而遇到严重的内存泄漏。我们正在使用 ANTS Memory Profiler 来检测哪些类阻止了垃圾收集器释放内存,但是我们对这个工具非常陌生,因此我们对其输出的理解有限。

我们的测试用例包括打开一个窗口,让您从列表中选择一个插件。该窗口包含一个 Wizard 控件,该控件包含一个标题、一组按钮和一个显示活动 WizardPage(即 UserControl)的主要区域。通过选择一个插件并单击 Next 按钮,更多 WizardPage 控件在 Wizard Region 中注册并使用 RegionAdapter 添加到 Wizard.Pages 集合中。然后,用户可以通过单击 Next/Previous 按钮来浏览页面。如果我们打开向导窗口并单击取消按钮,向导控件终结器将按预期调用。但是,如果我们在单击取消按钮之前打开向导窗口并展开插件 ComboBox,则永远不会调用向导控件终结器。这是 ANTS Memory Profiler 中向导的 Instance Categorizer 的屏幕截图:

实例分类器

我们几乎尝试了一切都没有成功,有人可以帮助我们了解这里发生了什么吗?

先感谢您。

0 投票
1 回答
2318 浏览

wpf - 处理 WPF 用户控制和内存管理

我创建了一个自定义数据网格控件,该控件继承自 WPF 中的 wpf 数据网格控件。

因此,当用户查询数据库时,数百条记录返回,每条记录有 15 到 20 列。

我相信当我控制屏幕时,分配给该屏幕及其网格的所有内存都应该由 GC 回收。但这种情况并非如此。

我在 Red Gate 的 Memory Profiler 中测试我的应用程序,当我打开屏幕时它显示分配给它的 30 mb 内存。

但是当我关闭此屏幕时,应用程序仍以某种方式保留该内存,当我在 ant 内存分析器中查看原因时,它显示由于我的自定义数据网格,我的屏幕实例仍在内存中。

我已将卸载事件添加到我的用户控件并分离我在此过程中附加的所有事件处理程序。

我错过了什么,我该怎么办?

0 投票
1 回答
1094 浏览

memory - nunit大项目集成测试,内存不足异常

我正在使用 nunit 为一个包含 600 多个测试的大型项目运行集成测试(每个测试通过 nhibernate 与数据库交互)。问题是在 10-15 分钟后 nunit 抛出内存不足异常。我使用 redgate ants 内存分析器来查看为什么 nunit 在测试之间没有释放内存。似乎它试图在每个测试中重新创建权限对象,并且内存不断增长,最终它抛出内存异常。

我对一个集成测试类进行了快照,但您可以看到内存在一段时间后不断增长。我没有找到任何要求 nunit 强制释放内存或解决此信任问题的调用或设置。

我真的很感激任何帮助。

蚂蚁快照:

http://www.tinyuploads.com/images/IXwb8Q.jpg

http://www.tinyuploads.com/images/3R2VbB.png

0 投票
1 回答
52 浏览

workflow - Workflow 调用方法中的这些 DebugManager 和 WinIOError 是什么?

我在我的 Windows 服务中运行 ANTS Performance Profiler 来优化它。所以我发现我的一个工作流的执行大约是 436 毫秒。我深入研究了工作流的调用方法中正在执行的每个方法,并找到了如下图所示的结果。

ANST 性能分析器结果(在工作流的 Invoke 方法中

上面的DebugManager是什么?为什么会出现 WinIOError?对不起,我刚刚迷失在这里的菜鸟问题。如果可能的话,我真的只想缩短执行时间。

0 投票
0 回答
1517 浏览

memory-leaks - 使用 EPPLus 库生成文件时内存使用率高

探查器快照

大家好,

使用 ANTS 内存分析器,我注意到在 IIS 上使用 EPPLUS(3.5 MB) 创建 Excel 文件的过程中,向 IIS 工作进程 (w3wp.exe) 添加了更多内存 (150MB)。下载完成后内存计数不会减少。我使用与此代码几乎相同的代码:http ://epplus.codeplex.com/SourceControl/changeset/view/c5783b32e89e#SampleApp/Sample1.cs 。

EPPLus 拥有我需要的一切。除了这个小问题。我还看到了一些“内存不足”的线程,但似乎都没有得到解决。如果有人遇到同样的问题并解决了,请告诉我。

第 2 代持有大量物品。

问题:ExcelCell 对象保留在第 2 代。如何在不调用 GC.Collect() 的情况下清除它

谢谢你。

0 投票
2 回答
874 浏览

c#-4.0 - 了解 ANTS profiler 生成的图形

我正在使用 ANTS 分析器在我的应用程序中分析内存使用情况,它表明 Excell 单元对象在第 2 代中占用了大量内存。应用程序正在使用 EPPlus 库生成 excel 文件。

我附上了该工具生成的一些图表。我不确定如何进一步钻探以找出哪个对象正在持有引用并占用内存。请就如何进一步深入图表提供您的建议。

总结图

实例图_1

实例图_2

在此处输入图像描述

问题是:该图再次指向同一对象。我想我没有正确使用这个工具。

谢谢

0 投票
1 回答
880 浏览

asp.net - .NET 应用程序中的非托管资源消耗了高百分比的内存

我有一个执行简单 MDX 查询并产生输出的网站。此输出用于生成 excel 文件。我使用了 ANTS 探查器,发现大量内存被非托管资源消耗。检查下图:

全尺寸图片

接下来我应该怎么做才能检测到这种内存泄漏。我想找出为什么这些对象仍然存在于记忆中。请建议我下一步该怎么做。

在此处输入图像描述 全尺寸图片

0 投票
3 回答
3348 浏览

c# - .net 应用程序的非托管堆大小

我目前正在尝试对我正在处理的 C# 项目进行内存分析,以确定是否存在任何泄漏,因为此应用程序需要尽可能接近 100% 的正常运行时间。我开始使用 Ants Memory Profiler 7.4 版,并注意到我的非托管内存随着时间的推移不断增长,即使我的托管内存没有。

Console.ReadLine()经过更多的实验,我尝试对一个除了阻塞指令什么都不做的程序进行类似的分析。我进行了分析并注意到发生了同样的事情。我的非托管堆正在缓慢增长。事实上,它实际上似乎只是随着垃圾收集器被调用(通过快照功能)而增长。现在为什么反复调用垃圾收集会导致非托管内存无限增加?跟蚂蚁有关系吗?

我想使用其他一些工具,最好是诸如 windbg 或 SOS 之类的工具来确定它所看到的我的非托管内存使用情况。现在对我来说知道其中的内容并不重要——尽管从长远来看这可能有助于调试。我只是想确定当前正在运行的应用程序的非托管内存使用情况。我想看看这是否真的是蚂蚁的问题,还是我对环境如何运作的误解。拥有某种 .net、Visual Studio 或 Windows 工具来为我提供有关我的流程的准确信息将有助于我解决这个问题。

0 投票
1 回答
172 浏览

asp.net - System.Web.Hosting 命名空间中的 ASP.NET 性能问题

我正在使用 RedGate ANTS 来解决 ASP.NET 3.5 WebForms 应用程序中的性能问题。有时单击非常小的页面时,加载最多需要 15 秒。这些页面没有任何数据——只有少数控件。

ANTS Profiler 告诉我热点方法(儿童时间 > 5 秒)都在 System.Web.Hosting 中,例如:

  • 执行函数委托
  • 管道运行时间

但是这些“自己的时间”每个都在 0.001 秒以下。没有什么是热点。那么,在这些方法“之下”可能是什么导致了这个问题呢?