我们有一个使用非常频繁的asp.net Web API应用程序作为azure应用程序服务运行。该应用程序显示如下所示的内存使用趋势,即,内存使用量一直在增加,直到重新启动(使用Azure自动修复)后才下降。
为了进一步分析,我们进行了3次内存转储,即
下面是转储之间的比较外观
第一转储和第二转储之间。
第二和第三转储之间
在所有这些比较中,似乎最大的内存使用量增加发生在某些与缓存相关的对象中,例如ExpiresBucket,RuntimeCache,MemoryCache,CacheExpires等。
我不是专家,也不知道这些课程的确切用途以及这种增加的来源。 有人可以阐明这些物体的含义吗,这是正常现象吗? 为了清楚起见,我们已经看到趋势,看到内存只会增加而不会减少。