下图很好地显示了我的问题。
我有一个应用程序,它会占用它可以获取的所有内存。图像中的快照是在 5-10 分钟的时间跨度内拍摄的。在上一个快照中,我尝试通过 dotMemory 强制执行 GB。
上周末它吃掉了服务器上 60Gb 的可用内存,IIS 重新启动了进程,然后一切都回到了应用程序,从 1Gb 开始,然后再次达到 60Gb。
.NET 总数和使用的 .NET 似乎保持增长一点,但没有应用程序消耗的总内存那么多。
查看快照之间的比较“系统”似乎是拥抱所有内存的命名空间。它远远领先于排名第二的“微软”。
展开“系统”窗格会给我以下视图。
我将如何进一步分析?当我尝试查看“密钥保留路径”时,我得到以下内容,这似乎对我没有太大帮助。
我以前玩过dotMemory,但我以前从未经历过这样的事情。通常我可以快速找到一些我自己的命名空间,并通过它缩小到我的代码中我忘记处理某些东西的位置。
我尝试查找其他问题,但似乎没有一个问题与我的情况相同。如果您知道我尚未找到的问题,请随时向我指出另一个问题的方向。