MemoryCache如何知道它使用了多少内存?

时间:2011-07-15 19:18:05

标签: .net caching memory-management

MemoryCache中的.net类应该在它使用的内存量超过某个限制时逐出项目。

它如何实际确定其项目使用的内存量?

1 个答案:

答案 0 :(得分:4)

MemoryCache有一个内部CacheMemoryMonitor,会定期询问其引用有多大。它在mscorlib中使用一个名为SizedReference的内部类型,它是一个引用,它跟踪目标使用的内存(大约)。

它还从GC收集各种统计数据,以帮助确定记忆压力是否会导致其开始驱逐过程。