- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在对用作集成服务的 Windows 服务中的内存泄漏进行故障排除。
每次“doIntegration()”调用我都可以看到内存使用率比调用前更高,并且每次调用增加了大约 0.5 MB。
我已经尝试使用 PerfView 来定位可能存在内存泄漏的位置。
故障排除方法:
1) 在第一次调用 doIntegraion 之前获取堆快照
2) 在调用 doIntegration 后获取堆快照
3) 多次执行步骤2
4) 检查哪个方法/组在每次调用时变得更高
5) 使用单独快照上的差异来定位内存泄漏的位置
我可以看到 LIB mscorlib!RuntypeType 是每次都变得更高的方法/组。当我尝试检查它指的是什么时,我得到了
而且我无法进一步扩展树。
当我选择 View 时,RefTree 我会看到更多东西。
我对几个快照进行了比较,唯一递增的方法/组是固定句柄,它们只引用 mscorlib 类型。
有没有人遇到过这种问题?
我认为问题可能出在使用 XMLSerializer 从模型到 XML 的序列化中,但我不太确定。
有谁知道另一种尝试查找内存泄漏的方法?
谢谢 :)
最佳答案
答案来得太晚了。但我的假设是正确的,即序列化程序增加了每个“doWork”的内存使用量。
XmlSerializer 有一些“讨厌的”构造函数,它们实际上会在每次初始化时创建一个临时程序集,并且它们不会被 GC 收集。
我缓存了不同的 XmlSerializer,这些 XmlSerializer 使用了一个讨厌的构造函数,因此临时程序集只创建一次。
现在没有内存泄漏了。
关于.net - 使用 PerfView 检测内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33146974/
我知道有一个/Process:NameOrPID 开关,但它只影响/StopXXX 命令。从所有进程收集 ETW 事件会导致大 *.ETL 文件。我试图只能从一个进程中捕获 ETW 事件,以避免不相关
我正在调查我们在 wcf 应用程序中遇到的内存问题,我正在使用 perfview 来深入了解内存。我们得到了一个基本快照,然后是内存高时的快照。我比较了它们并查看了数据,我看到未到达的内存为 2,92
我创建了一个简单的控制台应用程序,并通过 Run Command -> PerfMonTest.exe 从 PerfView 执行它 我获取日志文件并查看应用程序的进程。它如预期的那样昂贵(99% C
我正在对用作集成服务的 Windows 服务中的内存泄漏进行故障排除。 每次“doIntegration()”调用我都可以看到内存使用率比调用前更高,并且每次调用增加了大约 0.5 MB。 我已经尝试
我一直在调查 C# 服务器应用程序中的一些垃圾收集问题。我目前正在使用 PerfView 来执行此操作。在收集了一些数据并获取了大量 GC 统计数据后,我对其中一列“触发原因”有点困惑。我得到两个值“
我目前正在使用 PerfView 为我的 (C#) 应用程序进行性能分析。但通常这些应用程序会使用大量数据库调用。所以我问自己这样的问题:- 在 Repositories 中花费了多少时间?-(等待
在 PerfView 中查看来自 CPU 堆栈的 sshot 我不确定如何解释第一条记录。 我不能安全地排除记录,因为 CallTree 中的每个线程都从这个帧开始。但困扰我的是为什么帧需要独占 18
我有一个演示解决方案,它通过使用 System.Diagnostics.Tracing.EventSource 类引发事件。我的类(class)如下:- [EventSource(Guid = "B6
给定 具有动态事件的 ETW 提供程序(继承自 EventSource)的实现。提供程序名称“IDS-IDComplete-DynamicTrace” 我的 Windows 服务实现,其中生成了 ET
A couple articles谈论 ETW 和“PerfMonitor.exe”。这些文章讨论了从命令提示符启动分析的能力。例如: PerfMonitor.exe runAnalyze MySlo
我正在尝试使用 PerfView 找出 CPU 性能问题,我的应用程序是在 IIS 上运行的 Asp.Net Core 2.2。根据这个视频https://channel9.msdn.com/Seri
我在 Windows Server 2012 上运行 PerfView。它在 VMware VM 上运行。如下图所示,所有进程的CPU为0。 我应该从哪里开始调试? 最佳答案 我遇到了同样的问题,无法
我们怀疑在运行几个 ASP.NET Core API 和几个 .NET Core 控制台的服务器上遇到了线程池饥饿的情况。 我在我们的一台服务器上运行了 perfview,因为我们怀疑线程池匮乏问题。
我正在使用 PerfView 来调整应用程序,目前第二昂贵的项目标记为: OTHER > 超过 10% 的 CPU。这甚至会持续到测试用例的后续运行。 谁能确定哪些事件或代码实践可能导致动态生成需要
我在我的 ASP.NET WebApi 应用程序中创建了一个 EventSource (WebApiEventSource)(作为 ITraceWriter 实现): [EventSource(Nam
我正在生产系统上运行 perfview(只是默认集合),其中 CPU 在几分钟内飙升至 100%。我得到了一些有用的结果,但是我也得到了一堆损坏的堆栈。 机器是Windows Server 2012
我是一名优秀的程序员,十分优秀!