我试图找到一种方法来确定在运行时给定类在.NET中使用了多少内存。使用Marshal.SizeOf()
已经完成,因为它仅适用于值类型。有没有办法确切地检查一个类使用了多少内存?
答案 0 :(得分:5)
答案 1 :(得分:1)
我同意内存分析器是获取您正在寻找的信息的最简单方法。除了之前提到的两个,我还推荐JetBrains dotTrace,它既是性能分析器又是内存分析器。
如果你想自己做,并且愿意深入了解CLR的内容,你可以使用.NET Profiling API,这是一种非托管API(如微软所说):“启用用于监视程序通过公共语言运行库(CLR)执行的分析器。“它并不完全适合临时使用,但它确实具有大量的功能。
答案 2 :(得分:1)
只是链接到相关的SO问题: