我们的产品基于内容对象数据集,该数据集保存在MemoryCache对象中。
我想知道存储在缓存中的数据消耗了多少内存。
因为我们可能在同一台机器上运行多个产品实例 (每个都在它自己的应用程序域中),重要的是立即看到谁消耗了什么......
该类具有以下属性:CacheMemoryLimit和PhysicalMemoryLimit,但是没有可以让我知道消耗了多少内存的属性?
提前致谢!
答案 0 :(得分:2)
检查内存的最佳方法是使用WinDbg + SOS / Psscor。特别是,来自Tess的this article将为您提供一个自动执行MemoryCache检查的脚本。
但是,如果您不熟悉这些工具和.net内部结构,通常需要花费几个小时来设置环境并了解其工作原理。
另一种方法是使用可用的here调试工具2.0。您只需创建工作进程的内存转储(任务管理器/右Clic /创建转储文件)和选择内存分析。该报告包含过程中的Web缓存大小部分。