What can cause IISExpress private bytes to keep increasing without any significant change in managed heap?
-
26-10-2019 - |
سؤال
I have an ASP.NET MVC 3 app that uses Windsor for injecting repositories and NHibernate sessions. Today, for the first time, I hit an OutOfMemoryException
. At first I thought it might be because I wasn't releasing any of the Transient
objects that Windsor was creating. As a quick experiment, I turned all of those into PerWebRequest
lifestyle, but it doesn't seem to have affected the memory usage pattern in a big way -- it still keeps going up.
- I'm not doing any caching
- I'm not using any unmanaged resources
- I am doing JSON serialization of several anonymous objects
- The action that I'm using for stress testing just returns a tiny JSON object (32 bytes), so no large objects are involved anywhere
What could cause IISExpress private bytes to keep going up when my managed heap size is stable (verified with Perfmon)?
What would be the right tool to debug this? I'm assuming CLR profilers may not be helpful because Perfmon doesn't show any leak in the managed heap.
المحلول
Memory usage seems to be stable after I disabled Glimpse.
I don't know what it could possibly be doing to leak unmanaged memory, but just setting on="false"
in the Glimpse configuration section in web.config instantly makes the memory usage stable.