.NET 如何测量请求中分配的字节数?
Posted
技术标签:
【中文标题】.NET 如何测量请求中分配的字节数?【英文标题】:.NET how to measure how many bytes allocated in a request? 【发布时间】:2011-08-02 11:11:39 【问题描述】:我需要跟踪请求中分配的对象。 是否有任何工具或命令可以帮助我知道分配了多少字节以及何时分配?
【问题讨论】:
你能定义“请求”吗?您是在谈论 ASP.NET 上下文中的 Web 请求吗? 是的,请澄清。就一般内存分配而言,有很多内存分析工具可以告诉你对象有多大(例如 RedGate 的内存分析器),但如果你只是在看 HTTP 请求之类的东西,那就更简单了. 是的-我的意思是httprequest。我想跟踪我在请求范围内分配对象的位置。 【参考方案1】:我认为Ants Memory Profiler 可以在这里为您提供很多帮助,但它不是免费的,但他们有“14 天左右”的试用版,试一试。
【讨论】:
我安装了 ant 和 dottrace,但是 - 我没有找到这样的功能。我可能会错过它,或者它不存在 我不会向您公开函数,当您在调试器中运行应用程序时,它会在您停止调试后对您的内存使用情况进行采样,并为您提供有关内存消耗更多位置的完整报告函数调用或行,当然还有每个时间花费了多少内存......【参考方案2】:您可以使用 CLRProfiler 示例查看此内容。根据您的平台,有一个适用于 .NET 2 的版本和一个适用于 .NET 4 的版本。而且它是免费的!
它会通过漂亮的图表/地图向您显示内存分配的位置。
【讨论】:
我试过了,但我收到一条消息“等待 clr”,并且消息没有消失。我google了一个解决方案,但我没有成功为我解决这个问题,所以我放弃了,但似乎这是一个很好的工具。以上是关于.NET 如何测量请求中分配的字节数?的主要内容,如果未能解决你的问题,请参考以下文章