【发布时间】:2013-10-31 14:17:51
【问题描述】:
我们的产品基于内存中的对象数据集,该数据集保存在 MemoryCache 对象中。
我想知道缓存中存储的数据消耗了多少内存。
因为我们可能在同一台机器上运行产品的多个实例 (每个都在它自己的应用程序域中),立即查看谁在消费什么是很重要的......
该类具有以下属性:CacheMemoryLimit 和 PhysicalMemoryLimit,但没有属性可以让我知道消耗了多少内存?
提前致谢!
【问题讨论】:
-
GetCount() * Marshal.SizeOf(your type) 怎么样
-
在我的对象列表上执行此操作,我收到一个错误:“ - 不能作为非托管结构封送;无法计算有意义的大小或偏移量。”
-
我明白了——看来你只能得到某些类型的大小。
-
您可以使用支持 SOS.dll 的调试器来执行此操作。
标签: c# caching memorycache