What can cause IISExpress private bytes to keep increasing without any significant change in managed heap?

StackOverflow https://stackoverflow.com/questions/7810032

سؤال

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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top