确定特定 .NET 程序集分配的内存量

Posted

技术标签:

【中文标题】确定特定 .NET 程序集分配的内存量【英文标题】:Determine amount of memory allocated by specific .NET assembly 【发布时间】:2012-04-25 07:58:22 【问题描述】:

我想测量我的程序中特定托管程序集的内存分配。 是否有方法/工具可以确定特定托管程序集在运行时分配的内存量?

【问题讨论】:

【参考方案1】:

CLR 具有分配滴答 ETL 事件,但它仅在每 100Kb 分配时触发一次。如果您的程序运行时间足够长(分配了足够的内存),那么数据可能非常准确。

您可以使用 Perfview (http://www.microsoft.com/en-us/download/details.aspx?id=28567) 查看分配滴答事件的调用堆栈。

【讨论】:

以上是关于确定特定 .NET 程序集分配的内存量的主要内容,如果未能解决你的问题,请参考以下文章

.NET WCF w3wp 本机内存泄漏和加载程序堆中 0 大小的 18k 动态程序集

从内存而不是磁盘加载.NET程序集[关闭]

如何限制 .Net 程序集在特定机器上运行

.NET 中的引用程序集

.NET 进程和 AppDomain 在啥情况下会共享内存中加载的程序集?

iOS 应用程序可以分配多少内存?