【发布时间】:2011-06-12 05:52:14
【问题描述】:
我有一个对象,我需要为 IIS 中的 Web 应用程序缓存其中的几个,因此我正在分析每个实例使用多少内存。
我写了一个小的exe,我在构造之前和之后调用GC.GetTotalMemory(true),差异在335k左右,但如果在CLR profiler中分析它显示我使用了22 MB的内存对于没有意义的对象。
我在 CLR 分析器中错误解释了什么?
我应该在哪里检查分析器以查看单个对象的大小?
【问题讨论】:
-
CLR Profile 物有所值。不要在这上面浪费你的时间,除非你的时间也是空闲的。
-
你只做了一个实例吗?如果你制作多个实例怎么办?我猜(但这是一个疯狂的猜测)22MB 将保持稳定,直到您创建足够的实例来填满它(所以在 65 个左右的对象之后它可能会跳到 44Mb)?
标签: c# memory object size profiler