首页 / 知识

关于.net:确定一个类使用多少内存?

2023-04-14 16:13:00

关于.net:确定一个类使用多少内存?

Determine how much memory a class uses?

我试图找到一种在运行时确定.NET中给定类正在使用多少内存的方法。 使用Marshal.SizeOf()已用完,因为它仅适用于值类型。 有没有一种方法可以检查一个类使用了多少内存?


我只是最近才开始研究这类事情,但是我发现内存分析器可以提供有关应用程序中对象实例的相当详细的信息。

这是一对值得尝试的夫妇:

  • 蚂蚁探查器
  • .NET内存探查器

只需链接到相关的SO问题:

  • sizeof()是否等效于引用类型?

我同意内存分析器是获取所需信息的最简单方法。除了前面提到的两个之外,我还建议同时使用JetBrains dotTrace,它既是性能分析器又是内存分析器。

如果您想自己做,并且愿意深入了解CLR的精髓,则可以使用.NET Profiling API,它是一种非托管API(如Microsoft所述):"使探查器能够监视公用语言运行时(CLR)执行程序。"它不完全适合休闲使用,但确实具有大量功能。


内存方法运行检查

最新内容

相关内容

猜你喜欢