我有一个Asp.Net应用程序,随着时间的推移,内存使用量增长到2.5GB甚至更多。网站大量使用System.Runtime.Caching.MemoryCache
。
无论如何,代码都知道System.Runtime.Caching.MemoryCache
使用了多少内存,所以我可以知道问题是否过多缓存,或者应用程序中是否存在内存泄漏?
答案 0 :(得分:0)
首先看一下PhysicalMemoryLimit。它有多大?将其设置为适合您环境的合理限制。
“PhysicalMemoryLimit属性返回MemoryCache类的单个实例可以使用的总物理计算机内存的百分比。如果缓存实例超出指定的限制,则删除缓存条目。”
另请参阅CacheMemoryLimit “获取计算机上可以由缓存使用的内存量(以字节为单位)。”
还要注意应用程序正在使用多少个Cache实例,希望它使用Default。
另请查看缓存条目的摘要,通常是DefaultCacheCapabilities ...