ASP.NET捆绑:内存泄漏?

3
我们最近在应用程序中实施了ASP.NET捆绑和缩小。这本来应该让它更快...并且确实加快了下载速度,但自从它上线以来,内存使用量就增加了。
我刚刚根据 ASP.Net Worker Process Memory Profile Tools 进行了内存转储,并查看了来自 WinDbg 的结果,最占用内存的是...
00007ffd809d0ee0     4478      1676592 System.Collections.Generic.Dictionary`2+Entry[[System.String, mscorlib],[System.Xml.XmlDictionaryString, System.Runtime.Serialization]][]
00007ffdcd9bed78    14077      1689240 System.Reflection.RuntimeParameterInfo
00007ffdcd9bbb58    44987      2159376 System.Text.StringBuilder
00007ffd81166738    80376      2572032 Microsoft.Ajax.Utilities.CssContext
00007ffdcd9b9220    41647      2867112 System.Int32[]
00007ffdcd9bf100    27654      3097248 System.Reflection.RuntimeMethodInfo
00007ffd81166600    80364      3214560 Microsoft.Ajax.Utilities.CssToken
00007ffdcd9bd1e0    11875      4132224 System.Collections.Hashtable+bucket[]
00007ffdcd9b6fc0    37793      4331968 System.Object[]
00007ffdcd9b7a98    50153      8237258 System.Char[]
0000003495080610    41499      9288392      Free
00007ffd81166868   401856      9644544 Microsoft.Ajax.Utilities.Position
00007ffdcd9b6948   520475     31605586 System.String
00007ffdcd9bc988    38797     86558836 System.Byte[]

在列表底部的是所有的Microsoft.Ajax.Utilities类。看起来捆绑会泄漏内存。有没有常见的原因可能会发生这种情况?许多捆绑的东西都发生在黑盒子里,很难知道我们做错了什么。我们调用
BundleConfig.RegisterBundles(BundleTable.Bundles);

在 Application_Start 中,大概就是这样了。


有同样的问题。对于 jQuery 等,似乎没什么问题,但是当渲染我们的 Kendo JS 脚本时,内存使用量突然增加了半个千兆字节,这完全没有道理。 - BVernon
1个回答

1
我不知道这是否回答了你的问题,但我刚遇到了类似的问题,其中一个Styles.Render导致内存使用量激增,垃圾回收器不断工作。
幸运的是,在短时间的调查后,我注意到在我的BundleConfig中犯了一个错误,我试图为一个CSS文件使用ScriptBundle!所以我只需将其更改为StyleBundle,一切恢复正常。
这是我的愚蠢错误,但你会认为会有某种异常...

我们刚刚开始使用https://github.com/madskristensen/BundlerMinifier。 - Ben Curthoys

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接