ETW记忆 [英] ETW Memory

查看:130
本文介绍了ETW记忆的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好,

我创建了一个使用ETW跟踪事件的应用程序。但我观察到,当我在3.5上运行我的应用程序时,需要很高的内存。我正在使用"Microsoft.Diagnostics.Tracing.TraceEvent"带有版本"1.0.41"的nuget包。看起来像ETW这样的
正在将事件堆叠在"Microsoft.Diagnostics.Tracing.Utilities.HistoryDictionary + HistoryValue< Int32>"中。地图。但ETW从不清理地图,所以一旦事件发生,他们只是将它存储到这个地图,以便在下一个事件
带有相同参数时查找。任何人都可以帮助我如何在mu程序中清理这张地图,这样我就无法达到我的记忆限制。我在4.5框架上使用最新版本的DLL运行相同的应用程序,但这是唯一支持.NEt框架的版本
3.5。

I've made an application that uses ETW for tracing events. But I observed that when I'm running my application on 3.5 it takes high memory. I'm using "Microsoft.Diagnostics.Tracing.TraceEvent" nuget package with version "1.0.41". It seems like ETW is stacking up events in "Microsoft.Diagnostics.Tracing.Utilities.HistoryDictionary+HistoryValue<Int32>" map. But ETW never cleaning up the map so once events comes to them they just store it to this map for look up when next event comes with same parameters. Can anybody help me how can i clean up this map in mu program so that I won't reach my memory limits. I'm running same application on 4.5 framework with latest version of DLLs but this is the only version that supports .NEt framework 3.5.

谢谢

推荐答案

Hi Wenchung Shang,

Hi Wenchung Shang,

感谢您在此发帖。

对于您的问题,全局未启用ETW堆跟踪,因为它很昂贵。在一个进程的每个堆分配上记录一个调用堆栈可能是一个庞大的数据量。

For your question, ETW heap tracing is not enabled globally because it is expensive. Recording a call stack on every heap allocation for just one process can be a huge volume of data.

请通过指定要跟踪的进程的名称来使ETW堆跟踪工作,然后记录堆事件。

Please make ETW heap tracing work by specifying the name of the process to be traced, and then recording heap events.

有关详细信息,请参阅以下文章。

For more details, please refer to the article below.

https://randomascii.wordpress.com/2015/04/27/etw-heap-tracingevery-allocation-recorded/

最好的问候,

Wendy

注意:此回复包含对第三方世界的引用广泛的网站。 Microsoft提供此信息是为了方便您。


Microsoft不控制这些网站,也没有测试在这些网站上找到的任何软件或信息;因此,Microsoft不能就其中发现的任何软件或信息的质量,安全性或适用性做出任何陈述。

使用互联网上的任何软件都存在固有的危险,微软提醒您在从Internet检索任何软件之前确保您完全了解风险。

Note: This response contains a reference to a third-party World Wide Web site. Microsoft is providing this information as a convenience to you.
Microsoft does not control these sites and has not tested any software or information found on these sites; Therefore, Microsoft cannot make any representations regarding the quality, safety, or suitability of any software or information found there.
There are inherent dangers in the use of any software found on the Internet, and Microsoft cautions you to make sure that you completely understand the risk before retrieving any software from the Internet.


这篇关于ETW记忆的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆