1

We have a Win2K3 server that is hosting 30+ sites. Each site is configured to have its own unique application pool -- so that we can manually recycle specific sites if needed and not kill sessions for the others.

From what I've read, the consequence of this type of setup is that each application pool worker process gets allocated a Desktop Heap (normally 512 kb's) and we limit the number of app pools we can serve. http://blogs.msdn.com/b/david.wang/archive/2006/01/25/security-considerations-of-usesharedwpdesktop-on-iis6.aspx

PROBLEM:
What we're seeing is that occasionally COM+ errors get triggered, presumably by hitting our 512 kb limit of the desktop heap -- and certain sites become unresponsive (or have errors) until we manually recycle that specific app pool. I know that I can increase the desktop heap limit to 1024, and make other tweaks/tunes, but I've been tasked with finding out what exactly causes one site's heap to max out as opposed to another. It seems that when we start seeing COM+ errors, the sites it affects are random -- small sites or big sites (heavier used).

Is it based on process id? Traffic?

Any pointers on understanding this a little more would be excellent. Thanks!

jg

1 Answer 1

2

COM+ is like saying Windows error. Can you be specific?

To properly analyze Desktop Heap issues, you need DHeapMon and Windbg. Both can be download from Microsoft, and there is a useful article here to describe how to perform the analysis:

How to use DHeapMon.exe to troubleshoot Desktop Heap issues
http://blogs.msdn.com/b/alejacma/archive/2008/07/29/how-to-use-dheapmon-exe-to-troubleshoot-desktop-heap-issues.aspx

Chances are that you will localize this to the application that you are hosting, and it will be up to the developer to pursue this.

4
  • Sorry about that! More specifically I'm getting Event ID: 4689.
    – tresstylez
    Mar 17, 2011 at 18:56
  • You may want to consider this could be simply reaching a resource limit due to the artificially low desktop heap limit. serverfault.com/questions/247848/…
    – Greg Askew
    Mar 17, 2011 at 19:29
  • That was my initial consideration :) My question is, how does this limit get reached for a specific app pool? All the app pools on my box are non-interactive....
    – tresstylez
    Mar 17, 2011 at 20:33
  • It depends on the application. Generally speaking, I can easily see where attempting to run anything other than a simple application, like spinning up a lot of threads or creating a lot of objects would hit this threshold.
    – Greg Askew
    Mar 18, 2011 at 14:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .